2
pyodbc方面,我有很簡單的Python腳本中,我嘗試使用pyodbc連接到SQLite數據庫:到SQLite數據庫
#!/usr/bin/env python
import sqlite3
import pyodbc
con_str = 'DRIVER={SQLITE3};DATABASE=%s' % ('/tmp/test.db')
db = pyodbc.connect(con_str)
當我執行這個腳本我收到錯誤:
Traceback (most recent call last):
File "./test.py", line 8, in <module>
db = pyodbc.connect(con_str)
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/lib64/libsqlite3odbc.so' : file not found (0) (SQLDriverConnect)")
/usr/lib64/libsqlite3odbc.so
是存在的文件鏈接:
$ ll /usr/lib64/libsqlite3odbc*
-rwxr-xr-x 1 root root 148232 Sep 29 2012 /usr/lib64/libsqlite3odbc-0.81.so
lrwxrwxrwx 1 root root 22 Aug 29 07:52 /usr/lib64/libsqlite3odbc.so -> libsqlite3odbc-0.81.so
以下是一些odbc文件:
$ cat /etc/odbc.ini
[SQLite3 Datasource]
Driver = SQLITE3
$ cat /etc/odbcinst.ini
[SQLITE3]
Description = SQLite ODBC 3.X
Driver = /usr/lib64/libsqlite3odbc.so
Setup = /usr/lib64/libsqlite3odbc.so
Threading = 2
FileUsage = 1
UsageCount = 1
安裝的版本數(RPM):pyodbc-3.0.7-1.x86_64
,sqliteodbc-0.81-1.2.x86_64
。
我該怎麼做才能消除這個錯誤?
有沒有原因你沒有使用本地'sqlite3'驅動程序?用這個,你可以簡單地'import sqlite3'然後'conn = sqlite3.connect('/ path/to/db.sqlite3')''。 – FlipperPA
'ldd/usr/lib64/libsqlite3odbc.so'能否找到所需的所有依賴關係? –
@FlipperPA我們的應用程序在不同的服務器上,可與不同的數據庫(Oracle,Sybase,SQlite等)協同工作。我們希望使用相同的模塊(pyodbc)創建連接。 – Yama