我有一个扩展的存储过程(如果有任何区别,则用 Delphi 编写),它通过 ODBC 建立自己的连接并执行一些处理 - 仅使用 T-SQL 无法完成的事情。
如果我尝试使用设置的系统 DSN(例如,名为 MyDataSource)进行连接,xp 将返回以下错误:
[Microsoft][ODBC SQL Server Driver][SQL Server] 无法打开登录“MyDataSource”中请求的数据库。登录失败。
但是,如果我使用连接字符串 (SERVER=MyServerName;DATABASE=MyDatabaseName;etc) 进行连接,那么它会连接并且 xp 可以工作。
我在 xp 之外测试了代码,只是一个 Windows 应用程序,并且使用 DSN 的连接有效。我希望这是因为它与我连接数据库 10 年的方式相同!
所以我让它工作,但真的想知道为什么它不能使用 DSN 工作。我也尝试过使用用户 DSN,但没有区别。
有任何想法吗?谢谢。