注: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)')