isql thường được sử dụng như một công cụ khắc phục sự cố. Ví dụ:nếu bạn đang gặp vấn đề với kết thúc ngược ODBC, isql sẽ giúp bạn xác định xem vấn đề nằm ở ứng dụng của bạn (tức là bạn có gặp vấn đề tương tự trong isql như khi bạn gặp phải trong ứng dụng của mình) hay ở nơi khác.
isql's -e
cờ cho phép bạn thay đổi cách isql thực thi SQL. Làm điều này cho phép bạn mô phỏng cách ứng dụng của bạn hoạt động về mặt này.
Để tìm hiểu ứng dụng của bạn sử dụng phương pháp nào để thực thi SQL:
- Thêm các dòng này vào /etc/odbcinst.ini:
[ODBC] Trace=Yes TraceFile=/tmp/sql.log
- Chạy một truy vấn trong ứng dụng của bạn.
- Mở /tmp/sql.log trong trình soạn thảo văn bản. Nếu tệp nhật ký chứa "SQLPrepare", ứng dụng của bạn sử dụng API ODBC này. Nếu không, nó sử dụng
SQLExecDirect
. - Trong
/etc/odbcinst.ini
, tắt theo dõi ODBC:[ODBC] Trace=No TraceFile=/tmp/sql.log
Theo mặc định, isql sử dụng SQLPrepare
và SQLExecute
để thực thi các câu lệnh SQL.
Để sử dụng SQLExecDirect
thay vào đó, hãy bao gồm -e
cờ trên dòng lệnh:
/usr/local/easysoft/unixODBC/bin/isql.sh -e -v SQLSERVER_SAMPLE SQL> select mycol from mytable