web-dev-qa-db-ja.com

unixODBCでsqlite3 ODBCドライバーをインストールするにはどうすればよいですか?

nixODBC ドライバーページ(90年代から)によると、SQLite3ドライバーは次の場所からダウンロードする必要があります。 http://www.ch-werner.de/sqliteodbc

そのページで提供されているソースコードからsqliteodbcを構築する手順は、こちらから入手できます。 http://www.ch-werner.de/sqliteodbc/html/index.html

そのページによると、ソースをディレクトリに展開し、次のコマンドを実行する必要があります。

1)./configure 2)make 3)make install

ただし、ディレクトリで./configureを実行すると、次のエラーが表示されます。

configure: error: No usable SQLite header/library on this system

私は何をすべきか?

4
user390136

configure: error: No usable SQLite header/library on this systemを処理するには、次のことを行う必要があります。

Sudo apt-get install libsqlite3-dev

そうすると、次のエラーが表示される場合があります。

configure: error: ODBC header files and/or libraries not found

その場合、以下を実行します。

Sudo apt-get install unixodbc-dev unixodbc-bin unixodbc

すでにいくつかのパッケージがリストされているかもしれませんが、エラーが発生している場合は、unixodbc-devがありません。

さて、今あなたはすべきです:

1)./configure && make問題なし

2)make installの代わりにcheckinstallについてのすべてを学ぶには、こちらの手順を参照してください。 ソースコードを取得してプログラムをインストールし、次に `Sudo make install`を実行します。 `apt-get`はそれについて知っていますか?

ここで、sqliteodbcドライバーに提供されている[命令]をさらに読み、以下を行う必要があります。

1)odbcinst.iniを正しく設定する

エディターでodbcinst.iniを開きます(おそらくスーパーユーザーの能力が必要です。また、ファイルがどこにあるかを知る必要があります。通常は/ etcにあるため、Sudo gedit /etc/odbcinst.ini)、以下を追加します。

[SQLite3]
Description=SQLite ODBC Driver
Driver=/usr/local/lib/libsqlite3odbc.so
Setup=/usr/local/lib/libsqlite3odbc.so
Threading=4

Descriptionを任意の文字列で設定しますが、DriverおよびSetupsqliteodbcドライバーのインストールによって提供される*.soへの正しいパスを持っていることを確認してください。どの*.soが提供されたかを把握/確認するには、grepを開くか、単に/usr/local/lib/を開いて、どの*.soファイルがあるかを確認します。たとえば、手順の例では、/usr/local/lib/libsqliteodbc.soをポイントする必要がありますが、/usr/local/lib/libsqlite3odbc.soしかありませんでした。両方がある場合は、次のように2つのエントリを作成できます。

[SQLite3]
Description=SQLite ODBC Driver
Driver=/usr/local/lib/libsqlite3odbc.so
Setup=/usr/local/lib/libsqlite3odbc.so
Threading=2

[SQLite]
Description=SQLite ODBC Driver
Driver=/usr/local/lib/libsqliteodbc.so
Setup=/usr/local/lib/libsqliteodbc.so
Threading=2

また、スレッド化に適切な値を選択してください。たとえば、8つのコアがある場合、Threading=4が意味をなすかもしれません。

ステップ2のために、次のように設定します。

[MYGOOFYSQLITE3DRIVERTAG]
Description=SQLite ODBC Driver
Driver=/usr/local/lib/libsqlite3odbc.so
Setup=/usr/local/lib/libsqlite3odbc.so
Threading=2

2)オプション:~/.odbc.iniでDNSをセットアップします---指示に従うだけですが、SQLite/3 DNSレスを使用することもできます。たとえば、pyodbcとPythonを使用する場合:

import pyodbc

connection_string = "Driver=MYGOOFYSQLITE3DRIVERTAG;Database=/path/to/database.db"
connection = pyodbc.connect(connection_string)

Driverキーについては、odbcinst.iniでドライバーに与えたタグを参照していることに注意してください。多分あなたは間抜けになりたい、多分そうではない-キーはあなたがセットアップしたもの、または他のプログラムが自動的にセットアップしたものに依存するという点であるので、ドライバーが何と呼ばれているのかを知る必要があるなら、それを見てくださいodbcinst.iniでアップします。

接続文字列に入力できる内容に関する詳細は、以前に参照したsqliteodbcドライバーの説明に記載されています。

4
user390136