isql jest zwykle używany jako narzędzie do rozwiązywania problemów. Na przykład, jeśli masz problem z zapleczem ODBC, isql pomoże Ci określić, czy problem tkwi w Twojej aplikacji (tj. czy nadal masz ten sam problem w isql, co w Twojej aplikacji), czy w innym miejscu.
-e
isql flaga umożliwia zmianę sposobu, w jaki isql wykonuje SQL. Dzięki temu możesz zasymulować zachowanie aplikacji pod tym względem.
Aby dowiedzieć się, jakiej metody aplikacja używa do wykonywania SQL:
- Dodaj te wiersze do /etc/odbcinst.ini:
[ODBC] Trace=Yes TraceFile=/tmp/sql.log
- Uruchom zapytanie w swojej aplikacji.
- Otwórz /tmp/sql.log w edytorze tekstu. Jeśli plik dziennika zawiera „SQLPrepare”, aplikacja używa tego interfejsu API ODBC. W przeciwnym razie używa
SQLExecDirect
. - W
/etc/odbcinst.ini
, wyłącz śledzenie ODBC:[ODBC] Trace=No TraceFile=/tmp/sql.log
Domyślnie isql używa SQLPrepare
i SQLExecute
do wykonywania instrukcji SQL.
Aby użyć SQLExecDirect
zamiast tego dołącz -e
flaga w wierszu poleceń:
/usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE SQL> select mycol from mytable