链接服务器 sql - 访问问题

发布于 2024-08-06 08:23:32 字数 680 浏览 3 评论 0原文

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

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

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

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

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

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

接下来在远程服务器上尝试,但没有结果: "sp_addlinkedsrvlogin 'ActSC', true, null, 'user', 'pass'".

在远程服务器上以及来自“查询分析器”的 sql 更新语句工作正常。

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

谢谢!

I have a SQL server 2000 and an Access database mdb connected by Linked server on the other hand I have a program in c # that updates data in a SQL table (Users) based data base access.

When running my program returns the following error message:

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.]´ .

Both the program, the sql server and database access are on a remote server.

On the local server the problem was solved by running the following:

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

Try on the remote server the next, without result:
"sp_addlinkedsrvlogin 'ActSC', true, null, 'user', 'pass'".

On the remote server and from the "Query Analyzer" sql update statements are working correctly.

Can you think of what may be the problem?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九命猫 2024-08-13 08:23:32

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

You can't access mdw file remotely? Specify remote mdw file location in provider string (Jet OLEDB:System Database=MySystem.mdw) and allow access to it from local server.

红尘作伴 2024-08-13 08:23:32

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

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

链接服务器属性
(来源:msdn.com

My guess is that this is related to user impersonation. Simply said: when you use Query Analyser you're using a different login than when you're accessing the server from your C# application. Try by setting the same username & password in your C# app.

You could solve this by configuring the linked server connection with a username and password, so that SQL server disregards any other password/current user credentials. Just use/check the last option/radio in this printscreen (disregard the login mappings list in the middle) and enter the username & password to use for ALL connections:

Linked Server Properties
(source: msdn.com)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文