注:Python解释器版本(32位/64位)和postgresql驱动版本(32位/64位)需一致。
一、安装postgresql驱动
https://www.postgresql.org/ftp/odbc/versions/msi/
(1)32位:
(2)64位:
双击安装。全程默认。
二、查看是否安装成功
(1)32位
打开 C:\Windows\SysWOW64\odbcad32.exe
(2)64位
打开 C:\Windows\System32\odbcad32.exe
如图即安装成功
三、python使用pyodbc调用
(1)32位:(端口根据实际情况修改)
def test_conn_sql_db():
source_db_ip = 'ip'
source_db_user = '用户名'
source_db_pwd = '密码'
databasename = '数据库名'
dbconn = pyodbc.connect("DRIVER={PostgreSQL Unicode};"
"DATABASE="+databasename+";"
"SERVER="+source_db_ip+";"
"UID="+source_db_user+";"
"PWD="+source_db_pwd+";"
"PORT=5432;"
"QUIETMODE=YES")
return dbconn
if __name__ == '__main__':
test_conn_sql_db()
(2)64位:(端口根据实际情况修改)
def test_conn_sql_db_64():
source_db_ip = 'ip'
source_db_user = '用户名'
source_db_pwd = '密码'
databasename = '数据库名'
dbconn = pyodbc.connect("DRIVER={PostgreSQL Unicode(x64)};"
"DATABASE="+databasename+";"
"SERVER="+source_db_ip+";"
"UID="+source_db_user+";"
"PWD="+source_db_pwd+";"
"PORT=5432;"
"QUIETMODE=YES")
return dbconn
if __name__ == '__main__':
test_conn_sql_db_64()
四、常见问题
Python64位+postgresql驱动32位报错:
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)')