使用ODBC DSN扩展存储过程

时间:2009-08-07 14:15:00

标签: sql-server stored-procedures odbc dsn

我有一个扩展存储过程(如果有任何不同,用Delphi编写)通过ODBC建立自己的连接并执行一些处理 - 这些都是单独使用T-SQL无法完成的。

如果我尝试使用设置的系统DSN进行连接(例如名为MyDataSource),则xp会返回以下错误:

[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]无法打开登录“MyDataSource”中请求的数据库。登录失败。

但是,如果我使用连接字符串(SERVER = MyServerName; DATABASE = MyDatabaseName;等)连接,那么它连接& xp有效。

我测试了xp之外的代码,只是一个Windows应用程序,并且使用DSN的连接有效。我期待这一点,因为它与我连接数据库10年的方式相同!

所以我有它的工作,但我真的想知道为什么它不能使用DSN。我也试过用户DSN,但没有区别。

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

请记住,执行扩展存储过程时,它在SQL Server服务正在使用的登录名下运行。如果该SQL Server中的日志没有网络权限,则会发生拒绝错误。我希望这会有所帮助。