【发布时间】:2014-06-05 22:35:10
【问题描述】:
我正在尝试使用 pyodbc 连接到数据库,以下代码在 Windows 上运行良好,正在尝试 在 linux 上运行同样的错误如下,谁能建议这里有什么问题以及如何解决它?
import pypyodbc as pyodbc
component_id=argv[1]
print "COMPONENT ID: " + component_id
server_name='odsdb.company.com'
database_name='ODS'
cnx = pyodbc.connect("DRIVER={SQL Server};SERVER="+server_name+";DATABASE="+database_name)
db_cursor=cnx.cursor()
vi /etc/odbcinst.ini
[PostgreSQL ANSI]
Description = PostgreSQL ODBC driver (ANSI version)
Driver = psqlodbca.so
Setup = libodbcpsqlS.so
Debug = 0
CommLog = 1
UsageCount = 1
[PostgreSQL Unicode]
Description = PostgreSQL ODBC driver (Unicode version)
Driver = psqlodbcw.so
Setup = libodbcpsqlS.so
Debug = 0
CommLog = 1
UsageCount = 1
错误:-
File "build_ver.py", line 11, in <module>
cnx = pyodbc.connect("DRIVER={SQL Server};SERVER="+server_name+";DATABASE="+database_name)
File "/usr/local/lib/python2.7/dist-packages/pypyodbc.py", line 2434, in __init__
File "/usr/local/lib/python2.7/dist-packages/pypyodbc.py", line 2483, in connect
File "/usr/local/lib/python2.7/dist-packages/pypyodbc.py", line 988, in check_success
File "/usr/local/lib/python2.7/dist-packages/pypyodbc.py", line 964, in ctrl_err
pypyodbc.Error: (u'IM002', u'[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified')
【问题讨论】:
-
您的
~/.odbc.ini文件是什么样的? -
@padraic - 下载/解压 odbc-postgresql 找不到任何满足要求的下载 odbc-postgresql 根本找不到 odbc-postgresql 的发行版
-
你正在使用什么 linux dist 以及
odbcinst -j从 shell 显示什么? -
[unixODBC 2.2.14 驱动程序............:/etc/odbcinst.ini 系统数据源:/etc/odbc.ini 文件数据源..:/ etc/ODBCDataSources 用户数据源..:/usr2/gnakkala/.odbc.ini SQLULEN 大小............:8 SQLLEN 大小............:8 SQLSETPOSIROW 大小。:8]
-
什么 linux dist?您需要一个 ODBC 驱动程序