sql >> Base de Datos >  >> RDS >> Database

Cambiar cómo isql ejecuta SQL

isql se usa normalmente como una herramienta de solución de problemas. Por ejemplo, si tiene un problema con su back-end de ODBC, isql lo ayudará a identificar si el problema radica en su aplicación (es decir, si todavía tiene el mismo problema en isql que en su aplicación) o en otro lugar.

-e de isql flag le permite cambiar la forma en que isql ejecuta SQL. Hacer esto le permite simular cómo se comporta su aplicación en este sentido.

Para averiguar qué método usa su aplicación para ejecutar SQL:

  1. Agregue estas líneas a /etc/odbcinst.ini:
    [ODBC]
    Trace=Yes
    TraceFile=/tmp/sql.log
  2. Ejecute una consulta en su aplicación.
  3. Abra /tmp/sql.log en un editor de texto. Si el archivo de registro contiene "SQLPrepare", su aplicación utiliza esta API de ODBC. De lo contrario, usa SQLExecDirect .
  4. En /etc/odbcinst.ini , desactive el rastreo ODBC:
    [ODBC]
    Trace=No
    TraceFile=/tmp/sql.log

Por defecto, isql usa SQLPrepare y SQLExecute para ejecutar sentencias SQL.

Para usar SQLExecDirect en su lugar, incluya el -e marca en la línea de comando:

 /usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE
SQL> select mycol from mytable