嘿我不确定这个连接字符串有什么问题,我得到错误 - 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
任何帮助将不胜感激!
答案 0 :(得分:0)
使用pyodbc.drivers()
检查驱动程序列表,并使用其中的驱动程序名称
驱动程序名称应类似于PostgreSQL ANSI(x64)
,而不是PostgreSQL ANSI
。