将Python脚本连接到PostgreSQL数据库

时间:2016-03-25 03:02:41

标签: python postgresql odbc

嘿我不确定这个连接字符串有什么问题,我得到错误 - pyodbc.Error:(' IM002',' [IM002] [ Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序(0)(SQLDriverConnect)')

这是我的剧本:

import pyodbc
conn_str = (
    "DRIVER={PostgreSQL ANSI};"
    "DATABASE=postgres;"
    "UID=postgres;"
    "PWD=password;"
    "SERVER=localhost;"
    "PORT=5432;"
    )
conn = pyodbc.connect(conn_str)
crsr = conn.execute("SELECT * FROM initialdata limit 50")
row = crsr.fetchone()
print(row)
crsr.close()
conn.close()

这是我的ODBCINST.INI文件内容:

[PostgreSQL ANSI(x64) (32 bit)]
Driver=C:\Program Files\psqlODBC\0905\bin\psqlodbc30a.dll
Setup=C:\Program Files\psqlODBC\0905\bin\psqlodbc30a.dll
32Bit=1

[ODBC 32 bit Drivers]
PostgreSQL ANSI(x64) (32 bit)=Installed
PostgreSQL Unicode(x64) (32 bit)=Installed

[PostgreSQL Unicode(x64) (32 bit)]
Driver=C:\Program Files\psqlODBC\0905\bin\psqlodbc35w.dll
Setup=C:\Program Files\psqlODBC\0905\bin\psqlodbc35w.dll
32Bit=1

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

使用pyodbc.drivers()检查驱动程序列表,并使用其中的驱动程序名称

驱动程序名称应类似于PostgreSQL ANSI(x64),而不是PostgreSQL ANSI