isql wird normalerweise als Tool zur Fehlerbehebung verwendet. Wenn Sie beispielsweise ein Problem mit Ihrem ODBC-Back-End haben, hilft Ihnen isql dabei, festzustellen, ob das Problem bei Ihrer Anwendung liegt (d. h. erhalten Sie immer noch dasselbe Problem in isql wie in Ihrer Anwendung) oder woanders.
-e
von isql flag ermöglicht es Ihnen zu ändern, wie isql SQL ausführt. Auf diese Weise können Sie simulieren, wie sich Ihre Anwendung diesbezüglich verhält.
So finden Sie heraus, welche Methode Ihre Anwendung zum Ausführen von SQL verwendet:
- Fügen Sie diese Zeilen zu /etc/odbcinst.ini hinzu:
[ODBC] Trace=Yes TraceFile=/tmp/sql.log
- Führen Sie eine Abfrage in Ihrer Anwendung aus.
- Öffnen Sie /tmp/sql.log in einem Texteditor. Wenn die Protokolldatei „SQLPrepare“ enthält, verwendet Ihre Anwendung diese ODBC-API. Andernfalls wird
SQLExecDirect
verwendet . - In
/etc/odbcinst.ini
, schalten Sie die ODBC-Ablaufverfolgung aus:[ODBC] Trace=No TraceFile=/tmp/sql.log
Standardmäßig verwendet isql SQLPrepare
und SQLExecute
um SQL-Anweisungen auszuführen.
So verwenden Sie SQLExecDirect
Fügen Sie stattdessen das -e
ein Flag auf der Kommandozeile:
/usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE SQL> select mycol from mytable