代码之家  ›  专栏  ›  技术社区  ›  J__

使用ODBC DSN扩展存储过程

  •  0
  • J__  · 技术社区  · 15 年前

    我有一个扩展存储过程(用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 回复  |  直到 15 年前
        1
  •  1
  •   user142253    15 年前

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