Как установить драйверы ODBC для sqlite3 с помощью unixODBC?

Согласно странице драйверов unixODBC (прямо из 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
задан 12 December 2015 в 05:46

1 ответ

Для контакта с 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 делает установку'; как сделать 'склонным - добираются', знают об этом?

Теперь, читая далее в [инструкции], предусмотренные sqliteodbc драйвер, мы имеем к:

1) настроить odbcinst.ini правильно

Откройтесь odbcinst.ini в редакторе (Вам, вероятно, будут нужны способности суперпользователя, и необходимо будет знать, где файл - обычно это находится в / и т.д., таким образом, мы можем сделать: 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 и Setup имейте правильные пути к *.so если установкой sqliteodbc драйвер. Чтобы к фигуре / подтверждают который *.so были обеспечены: также grep или просто откройтесь /usr/local/lib/ и выезд, который *.so файлы Вы имеете. Например, согласно примеру в инструкции, необходимо указать на /usr/local/lib/libsqliteodbc.so, но я только имел /usr/local/lib/libsqlite3odbc.so. Если у Вас есть оба, Вы могли бы сделать две записи как так:

[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) дополнительный: установите DNS в ~/.odbc.ini ---просто следуйте инструкциям, но обратите внимание, что можно также использовать DNS меньше SQLite/3. Например, использование 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
ответ дан 12 December 2015 в 15:46
  • 1
    Isn' t Ваше сопоставимое с моим (в OP): GRUB_DEFAULT="gnulinux-advanced-6fefb013-568e-483b-befe-6a84f0ce102e>gnulinux-4.4.0-64-generic-advanced-6fefb013-568e-483b-befe-6a84f0ce102e" ? На основе моего menuentry список, что Вы предлагаете, чтобы я использовал? – boardrider 8 March 2017 в 21:21

Другие вопросы по тегам:

Похожие вопросы: