isql обикновено се използва като инструмент за отстраняване на неизправности. Например, ако имате проблем с вашия ODBC backend, isql ще ви помогне да определите дали проблемът е във вашето приложение (т.е. все още ли получавате същия проблем в isql, както и във вашето приложение) или другаде.
-e
на isql флагът ви позволява да промените начина, по който isql изпълнява SQL. Това ви позволява да симулирате как се държи вашето приложение в това отношение.
За да разберете кой метод използва вашето приложение за изпълнение на SQL:
- Добавете тези редове към /etc/odbcinst.ini:
[ODBC] Trace=Yes TraceFile=/tmp/sql.log
- Изпълнете заявка в приложението си.
- Отворете /tmp/sql.log в текстов редактор. Ако регистрационният файл съдържа "SQLPrepare", вашето приложение използва този ODBC API. В противен случай използва
SQLExecDirect
. - В
/etc/odbcinst.ini
, изключете проследяването на ODBC:[ODBC] Trace=No TraceFile=/tmp/sql.log
По подразбиране isql използва SQLPrepare
и SQLExecute
за изпълнение на SQL изрази.
За да използвате SQLExecDirect
вместо това включете -e
флаг на командния ред:
/usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE SQL> select mycol from mytable