Linuxシステムとの互換性を最大化するために、EasysoftODBCドライバーとともに配布されるunixODBCドライバーマネージャーは、このプラットフォームではreadlineサポートを使用して構築されていません。その結果、isqlで矢印キーを使用してSQLコマンド履歴を参照することはできません。 (unixODBCにバンドルされているサンプルODBCアプリケーション。)
Easysoftドライバーに付属しているバージョンのisqlを使用していて、コマンド履歴が必要な場合は、readlineをサポートするunixODBCをビルドし、Easysoftが提供するisqlを新しいビルドに置き換えることができます。
次の例では、次のようになります。
- unixODBCでのreadlineサポートの前提条件であるreadlineインクルードファイルをインストールします。
- Easysoftが提供するunixODBCバージョンを確認してください。
- Easysoftが提供するドライバーマネージャーのビルド環境を複製します(
CFLAGS
。 - unixODBCを一時ディレクトリにインストールします。isqlを置き換えるだけで、Easysoftまたはシステムドライバマネージャを置き換える必要はありません。
$ 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