【问题标题】:linked-server sql - access Problem链接服务器 sql - 访问问题
【发布时间】:2010-12-04 09:09:30
【问题描述】:

另一方面,我有一个 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 更新语句工作正常。

你能想到可能是什么问题吗?

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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


      (来源:msdn.com

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-12
        • 1970-01-01
        • 2021-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多