Database
 sql >> Base de données >  >> RDS >> Database

Modification de la manière dont isql exécute SQL

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 :

  1. Ajoutez ces lignes à /etc/odbcinst.ini :
    [ODBC]
    Trace=Yes
    TraceFile=/tmp/sql.log
  2. Exécutez une requête dans votre application.
  3. 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 .
  4. 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