导航

用友软件维护日志

用友软件的安装,使用,实时错误,数据维护等问题

« Windows XP必须禁止的服务用友所用端口 »

用友的问题大多源起SQL Server

转载的  如果你掌握了SQL Server , hoho,好像就没有问题了

用友U8"列前缀tempdb.无效: 未指定表名"错误的解决方法

因为SQL2000无法识别计算机名称中"-"、"、"以及中文字等特殊字符, 只能使用英文字母及数字, 将这个问题改过来之后, 又有问题随之而来: 用友系统管理中注册用户时出现"不能建立跟应用服务器[POWERPC]所指向的数据服务器连接, 不能登录, 请选择其他服务器. 错误描述: (-2147467259)[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问."的错误. 后来发现这些错误只要在用友服务中将服务器名改为现在的计算机名即可.

 SQL Server 2000 Desktop Engine安装错误的解决

 近日被家人要求帮忙安装用友由于帮家人安装用友ERP U8, 需要首先安装SQL Server 2000 Desktop Engine. 在SQL Server 2000任何一个版本的MSDE目录下都可以找到它的安装包. 但是在安装的时候, 碰到了一个很让人郁闷的问题, 就是每次显示正在配置系统之类的提示时, 安装至剩余2秒的时候, 安装便会自动回滚, 导致安装失败. 反复几次都是如此, 换了其它版本中的安装包还是同样的问题.

在网上找了很多资料, 大都是说因为防火墙的原因, 然而关掉防火墙问题依旧. 最后就快放弃希望了, 准备重新安装Windows了, 终于找到了一篇来自微软官方的文档"INF: SQL Server 2000 Service Pack 3 Readme.htm 增补内容". 在这篇文档的最后, 有一段话很重要:

必须启用"文件和打印共享"才能成功安装MSDE.

在您尝试安装MSDE之前, 请确保启用了"文件和打印共享". 如果您未在"网络连接"属性框中启用"Microsoft网络的文件和打印共享", 则安装进程可能会继续进行直到几乎完成, 然后又意外回滚. 如果出现此问题, 将不会成功安装 MSDE.

这个描述和我的情况非常相似, 因为我安装Windows XP基本上都不会保留"Windows网络的文件和打印共享"服务的. 之后的事情就很简单了, 安装这个服务, 然后重新执行SQL Server 2000 Desktop Engine安装程序, 一切OK.

  • 相关文章:
  • quote 1.为什么
  • 从SQL数据库开发的角度解释:
    用友U8"列前缀tempdb.无效: 未指定表名"错误的解决方法.

    用友使用了tempdb临时数据库, 进行临时数据处理.
    同时处理客户端并发的时候, 会创建tmp+计算机名+用户名+唯一流水号的临时表.
    比如计算机名: UFIDA-ZLN 用户名: demo 流水号: 1344
    临时表名则为: tmpUFIDA-ZLNdemo1344
    加上数据库名: 就形成了 tempdb..tmpUFIDA-ZLNdemo1344 的临时表访问名.
    在SQL里面有一项规则就是使用[]中括号进行标识数据库名及表名.
    按刚才的范例:
    select * From tempdb..tmpUFIDA-ZLNdemo1344
    SQL自动解释为: select * From tempdb..tmpUFIDA 语句的结果 减去 ZLNdemo1344
    显然是错误的结果. 和开发人员预期的结果全然不同.
    如果使用[]进行标识, 则形成:
    select * From tempdb..[tmpUFIDA-ZLNdemo1344] 则一切都OK了.
    这个问题早就出现过, 只可惜有些程序员没有考虑到会出现这个错误.
    到了U870应该是解决了该问题, 至于是否解决彻底, 就不得而知了.
    但有一点, 如果计算机名不包括"-"符号, 是肯定不会出现这个问题.
    只是WINDOWS安装的时候, MS总是自以为聪明, 创建一些带"-"的计算机名称.

    最后想说的是: 这个错误是用友的程序员的水平问题.以及测试工程师的敬业问题.
    同时也是MS-SQL的容错性问题. 和用户计算机名取什么内容应该是没有关系.

    原作 冒险者
  • 2009-3-4 18:40:23 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Theme from 用友工程师维护博客 By 武汉用友

Copyright www.uni800.com.
Some Rights Reserved.