Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pyodbc连接到PostgreSQL_Python_Sql_Postgresql_Odbc_Pyodbc - Fatal编程技术网

Python 使用pyodbc连接到PostgreSQL

Python 使用pyodbc连接到PostgreSQL,python,sql,postgresql,odbc,pyodbc,Python,Sql,Postgresql,Odbc,Pyodbc,我有一个在本地主机上运行的PostgreSQL。我已经安装了PSQLDBC驱动程序。现在,当我尝试使用pyodbc作为连接服务器时: import pyodbc connection = pyodbc.connect("DRIVER={psqlOBDC};SERVER=localhost;DATABASE=weather;UID=postgres;PWD=password") 但我得到了这个错误: Traceback (most recent call last): File "<std

我有一个在本地主机上运行的PostgreSQL。我已经安装了PSQLDBC驱动程序。现在,当我尝试使用pyodbc作为连接服务器时:

import pyodbc
connection = pyodbc.connect("DRIVER={psqlOBDC};SERVER=localhost;DATABASE=weather;UID=postgres;PWD=password")
但我得到了这个错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pyodbc.Error: ('08001', '[08001] Already connected. (202) (SQLDriverConnect)')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
pyodbc.Error:('08001','[08001]已连接。(202)(SQLDriverConnect)'
有什么问题吗


谢谢。

当然,您必须安装ODBC驱动程序。我不知道Mac,但在Windows中有ODBC管理器,您可以在其中配置数据源。对于PostgreSQL驱动程序,还有一个“测试”按钮,用于检查是否可以建立连接


正如fog所注意到的,您还可以使用其他技术连接到PostgreSQL。如果可以使用Jython,那么就可以使用JDBC驱动程序。还有一些本机驱动程序,如psycopg、PyGreSQL和pg8000(纯Python)。你能让他们试试吗?

为什么不使用本机驱动程序呢?我又遇到了同样的问题。当我在ubuntu上安装postgressql时,它工作得很好,但是当我在mac上安装它并使用上面的代码时,我得到了相同的错误。我使用ODBC,所以需要OBDC驱动程序,不是吗?应该做些什么。