Database
 sql >> Database >  >> RDS >> Database

Modifica del modo in cui isql esegue SQL

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:

  1. Aggiungi queste righe a /etc/odbcinst.ini:
    [ODBC]
    Trace=Yes
    TraceFile=/tmp/sql.log
  2. Esegui una query nella tua applicazione.
  3. 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 .
  4. 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