Python osx上PSQLDBC驱动程序的pyodbc连接问题
我正试图通过pyodbc连接到本地postgres数据库(我希望最终使用MySQL workbench导入/查看postgres模式),但我似乎找不到任何东西来找到我的PSQLDBC驱动程序。我已经Python osx上PSQLDBC驱动程序的pyodbc连接问题,python,macos,postgresql,pyodbc,psqlodbc,Python,Macos,Postgresql,Pyodbc,Psqlodbc,我正试图通过pyodbc连接到本地postgres数据库(我希望最终使用MySQL workbench导入/查看postgres模式),但我似乎找不到任何东西来找到我的PSQLDBC驱动程序。我已经brew安装了psqlodbc,我有驱动程序和安装文件,/usr/local/lib/psqlodbcw.so和/usr/local/lib/psqlodbca.so 使用python中的pyodbc库,我尝试连接,但pyodbc找不到我的驱动程序 conn_str = ( "DRIVER={
brew安装了psqlodbc
,我有驱动程序和安装文件,/usr/local/lib/psqlodbcw.so
和/usr/local/lib/psqlodbca.so
使用python中的pyodbc库,我尝试连接,但pyodbc找不到我的驱动程序
conn_str = (
"DRIVER={psqlodbc};"
"DATABASE=postgres;"
"UID=postgres;"
"PWD=postgres;"
"SERVER=localhost;"
"PORT=5432;"
)
conn = pyodbc.connect(conn_str)
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'psqlodbc' : file not found (0) (SQLDriverConnect)")
我的~/.odbc.ini
看起来像:
1 [PostgreSQL]
2 Description = PostgreSQL driver for Unix
3 Driver = /usr/local/lib/psqlodbcw.so
4 Setup = /usr/local/lib/psqlodbca.so
El Capitan版本10.11,我得到:
file /usr/local/lib/psqlodbcw.so
/usr/local/lib/psqlodbcw.so: Mach-O 64-bit bundle x86_64
file /usr/local/lib/psqlodbca.so
/usr/local/lib/psqlodbca.so: Mach-O 64-bit bundle x86_64
我不知道我该怎么办。这可能是配置或符号链接问题吗?驱动程序定义属于odbcinst.ini,而不是odbc.ini。odbc.ini用于定义DSN条目。此外,您还需要使用您定义的驱动程序名(
driver=PostgreSQL
)。此外,文件名末尾的“w”和“a”几乎肯定是指。安装文件的惯例是名称以“S”结尾。谢谢您的帮助。我现在让pyodbc工作。驱动程序定义属于odbcinst.ini,而不是odbc.ini。odbc.ini用于定义DSN条目。此外,您还需要使用您定义的驱动程序名(driver=PostgreSQL
)。此外,文件名末尾的“w”和“a”几乎肯定是指。安装文件的惯例是名称以“S”结尾。谢谢您的帮助。我现在正在工作。