OLEDBデータベースインターフェイス
OLEDBは、オープンデータアクセスを提供し、COMインターフェイスの標準セットを使用して、さまざまな種類のデータへのアクセスおよび操作を実現します。OLEDBインターフェイスは、単純なデータとリレーショナルデータベースの両方にアクセスすることができます。このインターフェイスによって、現行のODBCテクノロジを通してアクセスできないデータにアクセスすることができます。
サポートされているOLEDBプロバイダの一覧を次に示します。
サポートされているOLEDBプロバイダ |
---|
Microsoft Jet 3.51 OLEDB Provider |
Microsoft Jet 4.0 OLEDB Provider |
Oracle Provider for OLEDB |
Microsoft OLEDB Provider for SQL Server |
次のデータベースがOLEDB接続でサポートされています。
SQL Serverテーブルはテーブルレベルのロックを実行します。この機能は、データベースとMicroStationをデッドロック状態にする可能性があります。この状態は次のシナリオで発生する可能性があります。
- 自動コミットモードがオフに設定されている(SESSION AUTOCOMMIT OFF)
- SQLウィンドウを使用してレコードをデータベーステーブルに挿入した
- VSQLまたは他のMDLデータベースアプリケーションを使用して同じテーブルに対してクエリを実行した
これらの条件によって、MicroStationが、データベースからの応答を待つことになるため、ロックします。SQL Serverもinsert文のコミットを待つことによってデッドロックします。
この問題を解決するには、テーブルのダーティリードまたは未コミットリードを実行します。この方法によって、データベースの未コミットレコードを読み込むことができます。ただし、元のトランザクションがロールバックされたときに、これらのレコードが削除される可能性があります。MS_OLEDBUNCOMMITTEDREADを設定すれば、デッドロック状態を回避することができますが、レコードが消失する可能性があります。