isql est généralement utilisé comme outil de dépannage. Par exemple, si vous rencontrez un problème avec votre back-end ODBC, isql vous aidera à identifier si le problème vient de votre application (c'est-à-dire avez-vous toujours le même problème dans isql que dans votre application) ou ailleurs.
-e
d'isql flag vous permet de changer la façon dont isql exécute SQL. Cela vous permet de simuler le comportement de votre application à cet égard.
Pour savoir quelle méthode votre application utilise pour exécuter SQL :
- Ajoutez ces lignes à /etc/odbcinst.ini :
[ODBC] Trace=Yes TraceFile=/tmp/sql.log
- Exécutez une requête dans votre application.
- Ouvrez /tmp/sql.log dans un éditeur de texte. Si le fichier journal contient "SQLPrepare", votre application utilise cette API ODBC. Sinon, il utilise
SQLExecDirect
. - Dans
/etc/odbcinst.ini
, désactivez le traçage ODBC :[ODBC] Trace=No TraceFile=/tmp/sql.log
Par défaut, isql utilise SQLPrepare
et SQLExecute
pour exécuter des instructions SQL.
Pour utiliser SQLExecDirect
à la place, incluez le -e
drapeau sur la ligne de commande :
/usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE SQL> select mycol from mytable