【ADO】ADO 関係の定数に関する資料の発掘
古い ADO 関係のオプションに関する資料を発掘したので Up しておきます。
Execute メソッド(ADO Command)関連定数
Options:CommandText プロパティを評価する方法を指定
CommandTypeEnum と ExecuteOptionEnum の組み合わせで指定できる。
赤字部分はドキュメントに記載されていない補足部分。
| 定数名 |
数値 |
16進 |
説明 |
| CommandTypeEnum |
adCmdText |
1 |
&H1 |
プロバイダが CommandText をコマンドのテキスト定義として評価する必要があることを示します。 |
| adCmdTable |
2 |
&H2 |
CommandText で名前を付けられたテーブルの全レコードを返すために ADO が SQL クエリを生成する、必要があることを示します。 |
| adCmdStoredProc |
4 |
&H4 |
プロバイダが CommandText をストアド プロシージャとして評価する必要があることを示します。 |
| adCmdUnknown |
8 |
&h8 |
CommandText のコマンドの種類が不明であることを示します。 |
| adCmdFile |
256 |
&H100 |
持続的 (保存された) Recordset オブジェクトをが CommandTextで名前を付けれたファイルから復元する必要があることを示します。 |
| adCmdTableDirect |
512 |
&H200 |
プロバイダが CommandText で名前を付けられたテーブルの全レコードを返す必要があることを示します。 |
| ExecuteOptionEnum |
adAsyncExecute |
16 |
&H10 |
コマンドを非同期実行することを指定します。 |
| adAsyncFetch |
32 |
&H20 |
CacheSize プロパティで指定された初期数量が取り出された後、残りのレコードを非同期的に取り出す必要があることを示します。 |
| adExecuteNonBlocking |
64 |
&H40 |
undocumented |
| adExecuteNoRecords |
128 |
&H80 |
undocumented |
| adExecuteStream |
1024 |
&H400 |
undocumented |
Open メソッド(ADO Recordset)関連定数
CursorType:Recordset を開く際にプロバイダが使うカーソルタイプを指定
CursorTypeEnum で指定できる。
赤字部分はドキュメントに記載されていない補足部分。
| 定数名 |
数値 |
16進 |
説明 |
| adOpenForwardOnly |
0 |
&H0 |
デフォルトの値です。前方スクロールタイプカーソルを開きます。 |
| adOpenKeyset |
1 |
&H1 |
キーセットカーソルを開きます。 |
| adOpenDynamic |
2 |
&H2 |
動的カーソルを開きます。 |
| adOpenStatic |
3 |
&H3 |
静的カーソルを開きます。 |
LockType:Recordset を開く際にプロバイダが使うロックタイプを指定
LockTypeEnum で指定できる。
赤字部分はドキュメントに記載されていない補足部分。
| 定数名 |
数値 |
16進 |
説明 |
| adLockReadOnly |
1 |
&H1 |
デフォルトの値です。読み取り専用。 |
| adLockPessimistic |
2 |
&H2 |
レコードごとの排他的ロック。 |
| adLockOptimistic |
3 |
&H3 |
レコードごとの共有的ロック。 |
| adLockBatchOptimistic |
4 |
&H4 |
共有的バッチ更新。 |
AbsolutePosition プロパティ(ADO)関連定数
Recordset 内のカレントレコードの位置を指定します。
PositionEnum で指定できる。
赤字部分はドキュメントに記載されていない補足部分。
| 定数名 |
数値 |
説明 |
| adPosUnknown |
-1 |
Recordset が空,現在の位置が不明,またはプロバイダが AbsolutePosition をサポートしていない。 |
| adPosBOF |
-2 |
カレントレコードが BOF。 |
| adPosEOF |
-3 |
カレントレコードが EOF。 |
Type プロパティ(ADO)関連定数
Parameter,Field または Property のデータ型を示します。
DataTypeEnum で指定できる。
赤字部分はドキュメントに記載されていない補足部分。
| 定数名 |
数値 |
16進 |
説明 |
| adArray |
8192 |
&H2000 |
undocumented |
| adBigInt |
20 |
&H14 |
DBTYPE_I8 |
| adBinary |
128 |
&H80 |
DBTYPE_BYTES |
| adBoolean |
11 |
&HB |
DBTYPE_BOOL |
| adBSTR |
8 |
&H8 |
DBTYPE_BSTR |
| adChapter |
136 |
&H88 |
undocumented |
| adChar |
129 |
&H81 |
DBTYPE_STR |
| adCurrency |
6 |
&H6 |
DBTYPE_CY |
| adDate |
7 |
&H7 |
DBTYPE_DATE |
| adDBDate |
133 |
&H85 |
DBTYPE_DBDATE |
| adDBTime |
134 |
&H86 |
DBTYPE_DBTIME |
| adDBTimeStamp |
135 |
&H87 |
DBTYPE_DBTIMESTAMP |
| adDecimal |
14 |
&HE |
DBTYPE_DECIMAL |
| adDouble |
5 |
&H5 |
DBTYPE_R8 |
| adEmpty |
0 |
&H0 |
DBTYPE_EMPTY |
| adError |
10 |
&HA |
DBTYPE_ERROR |
| adFileTime |
64 |
&H40 |
undocumented |
| adGUID |
72 |
&H48 |
DBTYPE_GUID |
| adIDispatch |
9 |
&H9 |
DBTYPE_IDISPATCH |
| adInteger |
3 |
&H3 |
DBTYPE_I4 |
| adIUnknown |
13 |
&HD |
DBTYPE_IUNKNOWN |
| adLongVarBinary |
205 |
&HCD |
長バイナリ型。(Parameter のみ) |
| adLongVarChar |
201 |
&HC9 |
長文字列型。(Parameter のみ) |
| adLongVarWCharBinary |
203 |
&HCB |
Null 終了型の長文字列型。(Parameter のみ) |
| adNumeric |
131 |
&H83 |
DBTYPE_NUMERIC |
| adPropVariant |
138 |
&H8A |
undocumented |
| adSingle |
4 |
&H4 |
DBTYPE_R4 |
| adSmallInt |
2 |
&H2 |
DBTYPE_I2 |
| adTinyInt |
16 |
&H10 |
DBTYPE_I1 |
| adUnsignedBigInt |
21 |
&H15 |
DBTYPE_UI8 |
| adUnsignedInt |
19 |
&H13 |
DBTYPE_UI4 |
| adUnsignedSmallInt |
18 |
&H12 |
DBTYPE_UI2 |
| adUnsignedTinyInt |
17 |
&H11 |
DBTYPE_UI1 |
| adUserDefined |
132 |
&H84 |
DBTYPE_UDT |
| adVarBinary |
204 |
&HCC |
バイナリ型(Parameter のみ) |
| adVarChar |
200 |
&HC8 |
文字列型(Parameter のみ) |
| adVariant |
12 |
&HC |
DBTYPE_VARIANT |
| adVarNumeric |
139 |
&H8B |
undocumented |
| adVarWChar |
202 |
&HCA |
Null 終了型の Unicode 文字列。(Parameter のみ) |
| adWChar |
130 |
&H82 |
DBTYPE_WSTR |
State プロパティ(ADO)関連定数
State:非同期メソッドを実行している Recordset について現在の状態を示す
ObjectStateEnum で指定できる。
赤字部分はドキュメントに記載されていない補足部分。
| 定数名 |
数値 |
16進 |
説明 |
| adStateClosed |
0 |
&H0 |
デフォルトの値です。オブジェクトが閉じていることを示します。 |
| adStateOpen |
1 |
&H1 |
オブジェクトが開いていることを示します。 |
| adStateConnecting |
2 |
&H2 |
Recordset が接続中であることを示します。 |
| adStateExecuting |
4 |
&H4 |
Recordset がコマンドを実行中であることを示します。 |
| adStateFetching |
8 |
&H8 |
Recordset が行をフェッチ中であることを示します。 |
Status プロパティ(ADO)関連定数
Status:バッチ更新または他の一括操作に関するレコードの状態を示す。
RecordStatusEnum で指定できる。
赤字部分はドキュメントに記載されていない補足部分。
| 定数名 |
数値 |
16進 |
説明 |
| adRecOk |
0 |
&H0 |
更新成功。 |
| adRecNew |
1 |
&H1 |
新規レコード。 |
| adRecModified |
2 |
&H2 |
変更されたデータ。 |
| adRecDeleted |
4 |
&H4 |
削除されたレコード。 |
| adRecUnModified |
8 |
&H8 |
変更されていないレコード。 |
| adRecInvalid |
16 |
&H10 |
ブックマークが無効なため,変更は保存されない。 |
| adRecMultipleChanges |
64 |
&H40 |
複数の行に影響をするため,変更は保存されない。 |
| adRecPendingChanges |
128 |
&H80 |
未処理の挿入を参照するため,変更は保存されない。 |
| adRecCanceled |
256 |
&H100 |
操作がキャンセルされたため,変更は保存されない。 |
| adRecCantRelease |
1024 |
&H400 |
既存レコードがロックされているため,変更は保存されない。 |
| adRecConcurrencyViolation |
2048 |
&H800 |
共有ロックの同時実行のため,変更は保存されない。 |
| adRecIntegrityViolation |
4096 |
&H1000 |
ユーザーが整合性の制約に違反したため,変更は保存されない。 |
| adRecMaxChangesExceeded |
8192 |
&H2000 |
未処理の変更が多すぎたため,変更は保存されない。 |
| adRecObjectOpen |
16384 |
&H4000 |
開いているストレージオブジェクトとの競合のため,変更は保存されない。 |
| adRecOutOfMemory |
32768 |
&H8000 |
メモリ不足のため,変更は保存されない。 |
| adRecPermissionDenied |
65536 |
&H10000 |
権限がないため,変更は保存されない。 |
| adRecSchemaViolation |
131072 |
&H20000 |
データベースのスキーマに違反するため,変更は保存されない。 |
| adRecDBDeleted |
262144 |
&H40000 |
レコードが既にソースから削除されているため,変更は保存されない。 |
adRecConcurrencyViolation は,UpdateBatch による更新どうしの競合によって発生する。
adMaxChangesExceeded は,未処理状態の更新(.Update/.UpdateBatch か .UpdateCancel/.CancelBatch が投げられていない更新)の数が,Recordset が許容できる更新キャッシュ数を上回っているいる状態で,更新キャッシュが破棄されるような動作をすると再現する
許容更新キャッシュは,通常の Recordset では 1 で,バッチ更新を使用する場合は1以上の値に設定します。
ex) Recordset に更新をセットして,.Update しないまま .Close を実行すると,CONTEXT ERROR と共に発生。
CursorType 別,LockType 別 Supports 一覧(SQLOLEDB-UseServer)
| |
OpenForwardOnly |
OpenKeyset |
OpenDynamic |
OpenStatic |
| LockReadOnly |
Find Notifications (Open Method Default) (CMD Obj Rtn RS Default) |
AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
Find MovePrevious and Move Notifications |
AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications |
| LockPessimistic |
AddNew Delete Find Notifications Update batch updating |
AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew Delete Find MovePrevious and Move Notifications Update batch updating |
>OpenKeyset AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Update batch updating |
| LockOptimistic |
AddNew Delete Find Notifications Update batch updating |
AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew Delete Find MovePrevious and Move Notifications Update batch updating |
>OpenKeyset AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Update batch updating |
| LockBatchOptimistic |
AddNew Delete Find Notifications Update batch updating |
AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew Delete Find MovePrevious and Move Notifications Update batch updating |
>OpenKeyset AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Update batch updating |
「>」は強制変換
CursorType 別,LockType 別 Supports 一覧(SQLOLEDB-UseClient)
| |
OpenForwardOnly |
OpenKeyset |
OpenDynamic |
OpenStatic |
| LockReadOnly |
>OpenStatic AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
>OpenStatic AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
>OpenStatic AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
| LockPessimistic |
>OpenStatic >LockBatchOptimistic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic >LockBatchOptimistic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic >LockBatchOptimistic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
| LockOptimistic |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
| LockBatchOptimistic |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
「>」は強制変換
CursorType 別,LockType 別 Supports 一覧(JET_OLEDB-UseServer)
| |
OpenForwardOnly |
OpenKeyset |
OpenDynamic |
OpenStatic |
| LockReadOnly |
Find Notifications Resyncing date (Open Method Default) (CMD Obj Rtn RS Default) |
Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
>OpenStatic Find Holding Records MovePrevious and Move Notifications Resyncing data |
Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
| LockPessimistic |
>LockBatchOptimistic AddNew Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>LockBatchOptimistic AddNew Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenKeySet >LockBatchOptimistic AddNew Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenKeySet >LockBatchOptimistic AddNew Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
| LockOptimistic |
AddNew Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenKeySet AddNew Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenKeySet AddNew Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
| LockBatchOptimistic |
AddNew Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenKeySet AddNew Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenKeySet AddNew Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
「>」は強制変換
CursorType 別,LockType 別 Supports 一覧(JET_OLEDB-UseClient)
| |
OpenForwardOnly |
OpenKeyset |
OpenDynamic |
OpenStatic |
| LockReadOnly |
>OpenStatic AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
>OpenStatic AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
>OpenStatic AbsolutePosition and AbsolutePage Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
Bookmark Find Holding Records MovePrevious and Move Notifications Resyncing data |
| LockPessimistic |
>OpenStatic >LockBatchOptimistic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic >LockBatchOptimistic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic >LockBatchOptimistic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>LockBatchOptimistic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
| LockOptimistic |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
| LockBatchOptimistic |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
>OpenStatic AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
AddNew AbsolutePosition and AbsolutePage Bookmark Delete Find Holding Records MovePrevious and Move Notifications Resyncing data Update batch updating |
「>」は強制変換
ADODB エラーパターン
ADO ロック取得待ちタイムアウト
| Number |
Native Error |
SQLState |
内容 |
| -2147217871 |
none |
HYT00 |
時間切れになりました。 (Microsoft OLE DB Provider for SQL Server) |
コネクション接続前にネットワーク切断
| Number |
Native Error |
SQLState |
内容 |
| -2147467259 |
1231 |
01000 |
[DBNMPNTW]Connection Open(Create File()) |
コネクション接続後にネットワーク切断
| Number |
Native Error |
SQLState |
内容 |
| -2147467259 |
0 |
08S01 |
接続できません。 |
Recordset 作成後,Execute 時にネットワーク切断
| Number |
Native Error |
SQLState |
内容 |
| -2147467259 |
64 |
01000 |
[DBNMPNTW]Connection Write(GetOverLappedResult()) |
Recordset 作成後,BatchUpdate 時にネットワーク切断
| Number |
Native Error |
SQLState |
内容 |
| -2147467259 |
64 |
01000 |
[DBNMPNTW]Connection Transact(GetOverLappedResult()) |
JET DB Engine の削除エラー
| Number |
Native Error |
SQLState |
内容 |
| -2147467259 |
-199756777 |
3086 |
指定したテーブルから削除できませんでした。 |