是否可以连接到远程机器上的系统 DSN?

是否可以连接到远程机器上的系统 DSN?

我们在机器 A 上有一个 DSN,它指向机器 B 上的 DB。我们有一台机器 C,我们希望能够在机器 A 上使用该 DSN......但我们不想在机器 C 上创建 DSN。

有没有办法从机器 C 使用机器 A 上的系统 DSN?

答案1

系统 DSN 的定义是其所在计算机的本地 DSN。您需要在其他服务器上创建它。

如果可能的话,另一种选择是使用无 DSN 的连接字符串。

答案2

不,DSN 的目的是从一台机器连接到一个数据源。据我所知,不可能将 DSN 连接从一台机器“代理”到另一台机器。

答案3

是的,你可以...我知道在问了这个问题几年之后,这个答案不会困扰你,但我认为它可能会帮助其他人寻找这个问题。

您可以使用无 DSN 方法实现此目的

例如 :SQL 服务器 DSN 的连接字符串

oConn.Open "Driver={SQL Server};" & _
           "Server=xxx.xxx.xxx.xxx;" & _
           "Address=xxx.xxx.xxx.xxx,1433;" & _
           "Network=DBMSSOCN;" & _
           "Database=myDatabaseName;" & _
           "Uid=myUsername;" & _
           "Pwd=myPassword"

我已经亲自尝试过了,但是你需要有足够的访问权限

可以找到更多 DSN 连接字符串这里

答案4

是的,你可以,但它需要第三方解决方案,例如来自我的雇主

这些解决方案通常需要在数据使用机器 (C) 上安装一些组件,并在具有 ODBC DSN (A) 的机器上安装一些组件。连接最终看起来像

ODBC consumer on C
   -> ODBC Bridge DSN on C
       -> ODBC Bridge components on A
           -> ODBC DSN on A
               -> target DBMS on B

相关内容