为什么psycopg2和pyodbc以不同的方式连接到数据库?我怎么能翻译一个连接?
问题描述:
所以我一直在试图找到一个好的模块来查询我公司POSTGRES数据库中的信息。 有这么多的模型,但我似乎只能让pyodbc工作。为什么psycopg2和pyodbc以不同的方式连接到数据库?我怎么能翻译一个连接?
为什么pyodbc的连接形式与psycopg2不同,它似乎是上级模块?
如何将我的连接查询从一个切换到另一个?
我可以连接到我的公司这样的服务器与pyodbc没问题。
pyodbc.connect("DRIVER={SQLServer};SERVER=some\servername;DATABASE=someDatabaseName;Trusted_Connection=yes")
但是,这并不工作,psycopg2有:
psycopg2.connect(database="someDatabaseName", host="some\servername")
psycopg2回报:
OperationalError: could not translate host name "some\servername" to address: Unknown host
话题:
我希望有人能帮助我的Heroku的服务器根本不希望安装pyodbc
答
pyodbc
是可用于连接到许多不同类型的使用ODBC API数据库的Python模块。具体而言,pyodbc
符合DB API 2.0规范。
您的工作代码示例使用SQL Server驱动程序的ODBC实现连接到SQL Server实例。 驱动程序是DBMS特有的,ODBC不是。
请确认RDBMS类型 - 您的问题提到了Postgres,但'pyodbc'代码示例引用了SQL Server驱动程序。这是什么? 'psycopg2'不适用于SQL Server。 – Bryan
@Bryan我想我在这里没有范围。 (学习!) 我想我正在访问使用Postgres SQL数据库设置的SQL Server。那可能吗? 更新:驱动程序是Microsoft SQL Server。 因此,解决方案应该找到另一个ODBC模块比pyodbc或找到某种方式将其安装在我的服务器上,因为像psycopg2模块将无法正常工作? – MadsVJ
我们都在学习,这就是我们来到这里的原因! :)无法在SQL Server上托管Postgres数据库,这些软件产品是互斥的。 – Bryan