添加失败:对象名 'Database.dbo.User' 无效。 是什么意思 问题有可能出现在哪呢?

添加失败:对象名 'Database.dbo.User' 无效。 是什么意思 问题有可能出现在哪呢?,第1张

dbo是一个构架(schema),与sql2000不同的是,在sql2005中,表的调用格式如下:"数据库名.构架名.表名",同一个用户可以被授权访问多个构架,也可以被禁止访问某个或多个构架,这就是2005中提倡的"用户与构架分离"的概念.

在2005中,如果在创建表时没有指定构架(schema),那么系统默认该表的构架是dbo,所以会出现很多表名前自动加上dbo.字符样式.

请检查当前连接的数据库是否为您需要连接的数据库,可以在ASP中执行 select db_name() 查看当前连接的数据库名称什么,另外,还要确认您创建的表的所有者是不是 DBO架构的

这个是金蝶最普遍发生的问题之一,网上有很多详细的解决方案了。

经过测试,服务和所有的客户端都存在这个问题,管理员manager用户也用不了。

1 先检查一下此账套是否存在,打开账套管理,发现此账套存在。

2 打开演示账套或者其他账套,发现一切正常。

可以断定,这个账套出现了问题,应该数用户表出了问题,有数据库经验的人可以用数据库管理系统的“事件探查器”进行数据库跟踪,发现客户端登录时会查询[AcctCtl].[dbo].[T_AcctAllUser]表中没有任何记录,证明用户名丢失了,这也难怪用户存在,登陆无效。

处理方法:

在帐套管理中查出出问题的帐套号,替换下列语句的“帐套号”(帐套号,即出问题的帐套的数据库名称。如系统自动生成的名称:AIS201411261753001),从帐套中查询用户名称插入到AcctCtl库(AcctCtl库是专业版安装后用来管理所有帐套的数据库。)中。

INSERT INTO [AcctCtl].[dbo].[T_AcctAllUser]([FUserName], [FUserAllCount])select fname,1from 帐套号..t_user

Go

只要复制红色字体的代码,将账套号,改成发生问题的账套文件名就可以。这个打开账套管理或者打开数据库后台都可以看到名字的。

懂得后台的可以直接在数据库管理系统插入上述语句,也可以在账套管理中直接执行命令,方法如下:

1 首先在桌面新建一个文本,将红色代码复制到文本中,保存,再白文本的后缀txt改成sql。

2 打开账套管理,点 *** 作按钮,再点执行命令,会d出命令框,如下图:

以上未完,转自东莞金蝶软件博客,你百度下,就能找到。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6687375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存