找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 17707|回复: 40

[转帖] 用友的问题大多源起SQL Server

  [复制链接]
发表于 2008-6-15 08:40:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
如果你掌握了SQL Server , hoho,好像就没有问题了[url=]用友U8"列前缀tempdb.无效: 未指定表名"错误的解决方法[/url] 因为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.

评分

参与人数 2威望 +5 金币 +10 收起 理由
监守自盗 + 5 助人为乐,感谢分享!
yifeng651 + 10 助人为乐,感谢分享!

查看全部评分

发表于 2008-6-15 08:43:07 | 显示全部楼层
不懂呀,太深奥
发表于 2008-6-15 10:38:52 | 显示全部楼层
安装数据库确实要注意很多的地方,不然安装成功了也不好用
我也是安装了几次才好的
发表于 2008-6-15 11:30:41 | 显示全部楼层
一般按默认的安装就行了,没这么多麻烦
发表于 2008-6-16 00:04:01 | 显示全部楼层
从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的容错性问题. 和用户计算机名取什么内容应该是没有关系.

评分

参与人数 1威望 +5 收起 理由
监守自盗 + 5 助人为乐,感谢分享!

查看全部评分

发表于 2008-6-16 09:39:23 | 显示全部楼层
太深奥....................
发表于 2008-6-16 09:59:09 | 显示全部楼层
5楼讲得好,分析的非常详细。
发表于 2008-6-16 10:37:20 | 显示全部楼层
有装过MSDE出问题....

不过还真没想到楼主的那种解决方案~~记住了
发表于 2008-6-16 10:44:45 | 显示全部楼层
5楼的这么厉害?搞开发的哦!
发表于 2008-6-16 10:52:51 | 显示全部楼层
楼主确实很厉害,为我们省去了很多重装系统的麻烦。谢谢了
发表于 2008-6-16 15:01:13 | 显示全部楼层

非常感谢楼主

非常感谢楼主
发表于 2008-6-22 15:43:47 | 显示全部楼层
确实学到一招,多谢楼主。
发表于 2008-6-22 17:02:04 | 显示全部楼层
5楼最后那一句才是关键
发表于 2008-6-22 17:09:32 | 显示全部楼层
下来看看,支持发贴,感谢分享!
发表于 2008-6-22 21:07:57 | 显示全部楼层
我现在是想完全删掉, 但是好像挺复杂的。
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-6-1 11:04 , Processed in 0.063587 second(s), 17 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表