Um die Kompatibilität mit Linux-Systemen zu maximieren, wurde der unixODBC-Treibermanager, der mit den Easysoft-ODBC-Treibern vertrieben wird, auf dieser Plattform nicht mit Readline-Unterstützung erstellt. Infolgedessen können Sie die Pfeiltasten nicht verwenden, um Ihren SQL-Befehlsverlauf in isql zu durchsuchen. (Die Beispiel-ODBC-Anwendung, die mit unixODBC gebündelt ist.)
Wenn Sie eine Version von isql verwenden, die mit einem Easysoft-Treiber geliefert wurde, und eine Befehlshistorie wünschen, können Sie unixODBC mit Readline-Unterstützung erstellen und das von Easysoft bereitgestellte isql durch das von Ihnen neu erstellte ersetzen.
Im folgenden Beispiel haben wir:
- Installieren Sie die Readline-Include-Dateien, eine Voraussetzung für die Readline-Unterstützung in unixODBC.
- Überprüfen Sie die von Easysoft bereitgestellte unixODBC-Version.
- Replizieren Sie die Build-Umgebung für den von Easysoft bereitgestellten Treiber-Manager (
CFLAGS
). - Installieren Sie unixODBC in ein temporäres Verzeichnis, wir wollen nur isql ersetzen, wir wollen nicht den Easysoft- oder Systemtreiber-Manager ersetzen.
$ sudo apt-get install libreadline-dev $ cd $ mkdir scratch $ more /usr/local/easysoft/unixODBC_install.info product: unixODBC version: 2.3.0 date: Tue 30 Jan 15:51:04 GMT 2018 $ wget http://www.unixodbc.org/unixODBC-2.3.0.tar.gz $ gunzip unixODBC-2.3.0.tar.gz $ tar -xvf unixODBC-2.3.0.tar $ cd unixODBC-2.3.0 $ export CFLAGS=`/usr/local/easysoft/unixODBC/bin/odbc_config --cflags` $ ./configure --prefix=$HOME/scratch --sysconfdir=/etc $ make $ make install $ sudo mv /usr/local/easysoft/unixODBC/bin/isql /usr/local/easysoft/unixODBC/bin/isql_easysoft $ cd scratch $ sudo cp ./isql /usr/local/easysoft/unixODBC/bin/ $ /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_SAMPLE $ SQL> select 1 as test_col +------------+ | test_col | +------------+ | 1 | +------------+ SQLRowCount returns -1 1 rows fetched SQL> select 1 as test_col # Up arrow pressed here