isql används vanligtvis som ett felsökningsverktyg. Till exempel, om du har problem med din ODBC-backend, hjälper isql dig att identifiera om problemet ligger i din applikation (dvs. får du fortfarande samma problem i isql som du får i din applikation) eller någon annanstans.
isqls -e
flaggan låter dig ändra hur isql kör SQL. Genom att göra detta kan du simulera hur din applikation beter sig i detta avseende.
För att ta reda på vilken metod din applikation använder för att köra SQL:
- Lägg till dessa rader i /etc/odbcinst.ini:
[ODBC] Trace=Yes TraceFile=/tmp/sql.log
- Kör en fråga i din ansökan.
- Öppna /tmp/sql.log i en textredigerare. Om loggfilen innehåller "SQLPrepare" använder din applikation detta ODBC API. Annars använder den
SQLExecDirect
. - I
/etc/odbcinst.ini
, stäng av ODBC-spårning:[ODBC] Trace=No TraceFile=/tmp/sql.log
Som standard använder isql SQLPrepare
och SQLExecute
för att köra SQL-satser.
För att använda SQLExecDirect
inkludera istället -e
flagga på kommandoraden:
/usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE SQL> select mycol from mytable