isql viene in genere utilizzato come strumento di risoluzione dei problemi. Ad esempio, se stai riscontrando un problema con il tuo back-end ODBC, isql ti aiuterà a identificare se il problema risiede nella tua applicazione (ad es. hai ancora lo stesso problema in isql che ottieni nella tua applicazione) o altrove.
-e
di isql flag ti consente di cambiare il modo in cui isql esegue SQL. In questo modo puoi simulare il comportamento della tua applicazione al riguardo.
Per scoprire quale metodo utilizza la tua applicazione per eseguire SQL:
- Aggiungi queste righe a /etc/odbcinst.ini:
[ODBC] Trace=Yes TraceFile=/tmp/sql.log
- Esegui una query nella tua applicazione.
- Apri /tmp/sql.log in un editor di testo. Se il file di registro contiene "SQLPrepare", l'applicazione utilizza questa API ODBC. Altrimenti usa
SQLExecDirect
. - In
/etc/odbcinst.ini
, disattiva la traccia ODBC:[ODBC] Trace=No TraceFile=/tmp/sql.log
Per impostazione predefinita, isql utilizza SQLPrepare
e SQLExecute
per eseguire istruzioni SQL.
Per utilizzare SQLExecDirect
invece, includi il -e
flag sulla riga di comando:
/usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE SQL> select mycol from mytable