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

我们在机器A上有一个DSN,指向机器B上的一个数据库。我们有一台机器C,我们希望能够在机器A上使用该DSN …但我们不想在机器上创buildDSN C。

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

根据定义,系统DSN是其configuration的计算机的本地。 您需要在其他服务器上创build它。

如果可能,另一种select是使用无DSN的连接string。

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

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

您可以使用DSN less方法来实现这一点

例如: SQL Server DSN的连接string

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连接string可以在这里find

是的,你可以,但它需要一个第三方解决scheme,比如我的雇主 。

这些解决scheme通常需要使用ODBC DSN(A)在数据消费机器(C)和机器上的某些组件上安装某些组件。 连接看起来像

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