Para maximizar a compatibilidade com sistemas Linux, o gerenciador de driver unixODBC que é distribuído com os drivers ODBC da Easysoft não é construído com suporte readline nesta plataforma. Como resultado, você não pode usar as teclas de seta para navegar pelo histórico de comandos SQL, no isql. (O aplicativo ODBC de amostra que acompanha o unixODBC.)
Se você estiver usando uma versão do isql que veio com um driver Easysoft e gostaria de histórico de comandos, você pode construir unixODBC com suporte readline e substituir o isql fornecido pela Easysoft pelo novo que você construiu.
No exemplo a seguir, nós:
- Instale os arquivos readline include, um pré-requisito para o suporte readline no unixODBC.
- Verifique a versão unixODBC fornecida pela Easysoft.
- Replicar o ambiente de compilação para o Gerenciador de driver fornecido pela Easysoft (
CFLAGS
). - Instale o unixODBC em um diretório temporário, queremos apenas substituir o isql, não queremos substituir o Easysoft ou o gerenciador de drivers do sistema.
$ 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