2
私はpyodbcを使用してsqliteのデータベースに接続しようとする非常に単純なPythonスクリプトがあります。pyodbc接続
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
:私はこのスクリプトを実行すると
#!/usr/bin/env python
import sqlite3
import pyodbc
con_str = 'DRIVER={SQLITE3};DATABASE=%s' % ('/tmp/test.db')
db = pyodbc.connect(con_str)
を私はエラーが表示されます存在するファイルへのリンクです:
$ 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'ドライバを使用していない理由はありますか?これで、単純に 'sqlite3'をインポートしてから' conn = sqlite3.connect( '/ path/to/db.sqlite3') 'を実行するだけです。 – FlipperPA
'ldd/usr/lib64/libsqlite3odbc.so'は、すべての必要な依存関係を見つけることができますか? –
@FlipperPA私たちのアプリケーションは、異なるサーバー上で、異なるデータベース(Oracle、Sybase、SQlite、...)で動作します。そして、同じモジュール(pyodbc)を使用して接続を作成したいと考えています。 – Yama