链接服务器sql-访问问题

链接服务器sql-访问问题,sql,sql-server,tsql,sql-server-2000,linked-server,Sql,Sql Server,Tsql,Sql Server 2000,Linked Server,我有一个SQL server 2000和一个Access数据库mdb,通过链接服务器连接。另一方面,我有一个c#程序,用于更新基于SQL表(用户)的数据库Access中的数据 运行我的程序时,返回以下错误消息: OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”报告了一个错误。身份验证失败。 [OLE/DB提供程序返回消息:无法启动应用程序。缺少工作组的信息文件或由其他用户独占打开。]OLE DB错误跟踪[OLE/DB提供程序'Microsoft.Jet.OLEDB.4.0'

我有一个SQL server 2000和一个Access数据库mdb,通过链接服务器连接。另一方面,我有一个c#程序,用于更新基于SQL表(用户)的数据库Access中的数据

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

OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”报告了一个错误。身份验证失败。 [OLE/DB提供程序返回消息:无法启动应用程序。缺少工作组的信息文件或由其他用户独占打开。]OLE DB错误跟踪[OLE/DB提供程序'Microsoft.Jet.OLEDB.4.0'IDBInitialize::Initialize返回的0x80040E4D:身份验证失败。]´。

程序、sql server和数据库访问都位于远程服务器上

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

“sp_addLinkedServLogin'ActSC'、'false',NULL',admin',NULL”。

下一次在远程服务器上尝试,但没有结果:
“sp_addLinkedServLogin'ActSC',true,null,'user','pass'。

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

你能想出什么问题吗


谢谢

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

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

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


(来源:)