Database
 sql >> Base de Dados >  >> RDS >> Database

Alterando como o isql executa o SQL


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:
  1. Adicione estas linhas ao /etc/odbcinst.ini:
    [ODBC]
    Trace=Yes
    TraceFile=/tmp/sql.log
  2. Execute uma consulta em seu aplicativo.
  3. 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 .
  4. 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