我正试图通过ODBC连接到客户的DB。ODBC DSN是在Windows机器上设置的。我不知道到DB或DB名称的路径,所以我必须依赖DSN。
从我所看到的一般情况来看,这似乎是不可能的,但我知道普及ODBC允许它,而且看起来MSSQL也允许它。
问题是,Firebird 2.5允许这样做吗?如果是的话,你能帮我处理连接线吗?
我已经在本地windows机器上设置了Firebird DB,创建了ODBC (并在本地测试了连接)。
然后,我测试了来自unixODBC (isql)和pyodbc的连接,它们都连接得很好,但我必须指定DB位置、名称和凭据。
我需要从python 3.6 pyodbc (linux)连接到远程(windows) Firebird ODBC DSN。
发布于 2019-05-27 12:19:36
你想要的是不可能的*。ODBC只存在于定义它的机器上。它基本上是与应用程序分离的连接配置,应用程序通过名称引用配置。
您不能远程使用DSN (如果可能的话,这将是一个相当大的安全漏洞)。您需要在您的特定机器上定义DSN (或使用DSN无连接字符串),才能从该机器使用它。
考虑使用Python,请考虑使用FDB或pyfirebirdsql,而不是使用pyODBC。
*或者至少,如果没有远程计算机上的一些中间件服务,在应用程序和远程计算机上的ODBC DSN之间进行中介,则是不可能的。
https://stackoverflow.com/questions/56323397
复制相似问题