链接服务器sql - 访问问题

时间:2009-10-06 18:38:55

标签: sql sql-server tsql sql-server-2000 linked-server

我有一个SQL Server 2000和一个由链接服务器连接的Access数据库mdb另一方面我在c#中有一个程序来更新基于SQL表(用户)的数据库访问数据。

运行我的程序时,会返回以下错误消息:

OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error. Authentication failed. [OLE / DB provider returned message: Can not start the application. Missing information file of the working group or is opened exclusively by another user.] OLE DB error trace [OLE / DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize:: Initialize returned 0x80040E4D: Authentication failed.]´ .

程序,sql server和数据库访问都在远程服务器上。

在本地服务器上,通过运行以下命令解决了问题:

"sp_addlinkedsrvlogin 'ActSC', 'false', NULL, 'admin', NULL".

尝试下一个远程服务器,没有结果: "sp_addlinkedsrvlogin 'ActSC', true, null, 'user', 'pass'".

在远程服务器上和“查询分析器”中,sql update语句正常工作。

你能想到可能出现的问题吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

您无法远程访问mdw文件?在提供程序字符串中指定远程mdw文件位置(Jet OLEDB:System Database = MySystem.mdw)并允许从本地服务器访问它。

答案 1 :(得分:0)

我的猜测是,这与用户模仿有关。简单地说:当您使用查询分析器时,您使用的是与从C#应用程序访问服务器时不同的登录。尝试设置相同的用户名& C#app中的密码。

您可以通过使用用户名和密码配置链接服务器连接来解决此问题,以便SQL Server忽略任何其他密码/当前用户凭据。只需使用/检查此打印屏幕中的最后一个选项/收音机(忽略中间的登录映射列表)并输入用户名&用于所有连接的密码:

Linked Server Properties http://blogs.msdn.com/blogfiles/jorgepc/WindowsLiveWriter/LessonsLearntwhileConfiguringSecurityonL_D8C9/19102009B_thumb.png

相关问题