O isql é normalmente usado como uma ferramenta de solução de problemas. Por exemplo, se você está tendo um problema com seu back-end ODBC, o isql irá ajudá-lo a identificar se o problema está com seu aplicativo (ou seja, você ainda tem o mesmo problema no isql que você obtém em seu aplicativo) ou em outro lugar.
-e
do isql O sinalizador permite alterar como o isql executa o SQL. Isso permite simular como seu aplicativo se comporta a esse respeito. Para descobrir qual método seu aplicativo usa para executar SQL:
- Adicione estas linhas ao /etc/odbcinst.ini:
[ODBC] Trace=Yes TraceFile=/tmp/sql.log
- Execute uma consulta em seu aplicativo.
- Abra /tmp/sql.log em um editor de texto. Se o arquivo de log contiver "SQLPrepare", seu aplicativo usará essa API ODBC. Caso contrário, ele usa
SQLExecDirect
. - Em
/etc/odbcinst.ini
, desative o rastreamento ODBC:[ODBC] Trace=No TraceFile=/tmp/sql.log
Por padrão, o isql usa
SQLPrepare
e SQLExecute
para executar instruções SQL. Para usar
SQLExecDirect
em vez disso, inclua o -e
sinalizador na linha de comando:/usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE SQL> select mycol from mytable