Database
 sql >> Datenbank >  >> RDS >> Database

Befehlsverlauf in isql

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:

  1. Installieren Sie die Readline-Include-Dateien, eine Voraussetzung für die Readline-Unterstützung in unixODBC.
  2. Überprüfen Sie die von Easysoft bereitgestellte unixODBC-Version.
  3. Replizieren Sie die Build-Umgebung für den von Easysoft bereitgestellten Treiber-Manager (CFLAGS ).
  4. 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