使用方法
Set oradatabase = orasession.OpenDatabase(database_name,connect_string, options) Set oradatabase = oraserver.OpenDatabase(connect_string, options)
引数
このメソッドの引数は、次のとおりです。
引数 | 説明 |
---|---|
database_name |
データ・コントロールをデータベースに接続するときに使用するOracleネットワーク指定子。 |
connect_string |
Oracleデータベースに接続するときに使用するユーザー名とパスワード。 |
options |
データベースのオプション・モードの設定に使用するビット・フラグ文字。options = 0 の場合は、デフォルトのモード設定が適用されます。次の表に、それぞれの値を追加することで組み合せることができる、使用可能なモードを示します。 |
定数
次の表に、オプション・フラグの定数とその値を示します。
定数 | 値 | 説明 |
---|---|---|
ORADB_DEFAULT |
&H0& |
Visual Basicモード(デフォルト):
SQLの非ブロック機能は、使用できなくなります。 |
ORADB_ORAMODE |
&H1& |
Oracleモード:
注意: トリガーを使用する場合は、完全なOracleモードを使用してデータを再度フェッチしてください。 |
ORADB_NOWAIT |
&H2& |
ロック非待機モード:
行のロック解除を待機しません。 注意: このオプションは、 |
ORADB_NO_REFETCH |
&H4& |
Oracleモード(再フェッチなし):
Oracleモードと同様に実行されますが、データはローカル・キャッシュに再フェッチされません。これによってパフォーマンスが向上します。 注意: データベースの列のデフォルトのために、データベースのデータとローカル・キャッシュが不一致になるため、行を編集せずに挿入する場合にのみ、再フェッチなしモードを使用してください。このモードで挿入した後に編集しようとすると、「データは変更されています。」(4119)エラーが発生します。 |
ORADB_NONBLK |
&H8& |
非ブロックモード:
SQL文の実行時は、非ブロック・モードをオンにします。非ブロック・モードは、 注意: この機能は使用不可になっています。 |
ORADB_ENLIST_IN_MTS |
&H10& |
MTSモードでのリスト:
|
ORADB_ENLIST_FOR_ CALLLBACK |
&H20& |
コールバック・モードでのリスト:
イベント通知をオンにします。フェイルオーバー通知を受信するには、このモードを使用可能にする必要があります。 |
これらの値は、oraconst.txt
ファイルにあります。有効なデータベース別名の作成方法については、『Oracle Net Services管理者ガイド』を参照してください。
有効なconnect_string
引数の例は次のとおりです。
"scott/tiger"
"system/manager"
"/"
備考
OraConnection
オブジェクトは自動的に作成され、セッションのOraConnections
コレクション内に表示されます。データベースのオープンは、接続のオープンに影響を与えますが、SQL処理は実行しません。
次の接続エラーが戻される可能性があります。
ORA-28001 "the password has expired"
ChangePassword
メソッドを使用すると、パスワードを変更できます。
例
この例では、ダイナセットおよび基礎となるすべてのオブジェクトをプログラムで作成する方法を示します。このコードをコピーして、txtEmpNo
およびtxtEName
という名前のテキスト・ボックスのあるフォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create the OraDynaset Object. Set OraDynaset = OraDatabase.CreateDynaset("select empno, ename from emp", 0&) 'Display the first record. txtEmpNo = OraDynaset.Fields("empno").value txtEName = OraDynaset.Fields("ename").value End Sub