[+/-]
このセクションでは、MySQL の一般的なクエリや機能の範囲、そして Connector/ODBC とのそれらの使い方について記載します。
NSERT
文の後で、AUTO_INCREMENT
を使うカラムの値を獲得する方法は様々あります。INSERT
の直後に獲得するには、SELECT
クエリを LAST_INSERT_ID()
関数と使用します。
例えば、Connector/ODBC
の使用中に、ふたつの別々のステートメント、
INSERT
文と SELECT
クエリを実行してオートインクリメント値を獲得します。
INSERT INTO tbl (auto,text) VALUES(NULL,'text'); SELECT LAST_INSERT_ID();
アプリケーション内では値は必要でないものの、他の
INSERT
の一部として値が必要である場合は、次のステートメントを実行するとすべてのプロセスが処理されます
:
INSERT INTO tbl (auto,text) VALUES(NULL,'text'); INSERT INTO tbl2 (id,text) VALUES(LAST_INSERT_ID(),'text');
特定の ODBC アプリケーション ( Delphi および Access を含む ) では、上の例でオートインクリメント値を獲得するのは困難な場合があります。その場合は、代わりに次のステートメントで試みてください :
SELECT * FROM tbl WHERE auto IS NULL;
dynamic cursor
のサポートは
Connector/ODBC 3.51
で提供されていますが、デフォルト設定では動的カーソルが有効になっていません。Windows
では、ODBC Data Source Administrator で Enable
Dynamic Cursor
チェックボックスを選択して、この機能を有効にしてください。
他のプラットフォームでは、DSN
を作成する際、OPTION
値に
32
を加えることで動的カーソルを有効にすることができます。
Connector/ODBC ドライバは高いパフォーマンス性を想定しています。Connector/ODBC の性能に問題を感じた場合、または簡単な要求に多量のディスク アクティビティが費やされる場合は、いくつかのことを確認してください :
ODBC Tracing
を無効にしてください。トレースが有効になっていると、ODBC
Manager が多くの情報をトレース
ファイルに記録します。Windows では、 ODBC
Data Source Administrator の
Tracing
パネルでトレースの状況を確認し、無効にすることができます。Mac
OS X では、ODBC Administrator の
Tracing
パネルで確認してください。項24.1.3.8. 「ODBC トレース ファイルの獲得」
参照。
ドライバはデバッグ バージョンでなく、標準バージョンを使用していることを確認してください。デバッグ バージョンには、追加の査閲や報告指標が含まれています。
Connector/ODBC ドライバのトレースとクエリ ログを無効にしてください。これらのオプションは各 DSN に対して有効になっていますので、アプリケーションに使用している DSN だけを検査するようにしてください。Windows では、DSN 構成を改修することで Connector/ODBC とクエリ ログを無効にすることができます。Mac OS X と Unix では、ドライバ トレース ( オプション値 4 ) とクエリ ログ ( オプション値 524288 ) が有効になっていないか確かめてください。
Microsoft Windows で、ODBC 接続を通してクエリを実行する際にクエリ タイムアウトを設定する方法に関する情報は、http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B153756 にある Microsoft ナレッジベース資料をお読みください。