ODBC経由で Oracle テーブルのデータをレコードセットにフェッチするための vba コードがあります。ただし、Oracle テーブルにタイムスタンプ フィールドがある場合は、特定されていないエラーが表示されます。
100 以上のテーブルがあり、どのテーブルにタイムスタンプがあるかわかりません。データを取得するためにループ内のクエリの下で実行しています。
Query = "Select End_Time from MyTable" 'this table has End_Time timestamp(6) field
CmdSQLData.CommandText = Query
CmdSQLData.CommandType = adcmdText
CmdSQLData.Timeout=0 set rs = CmdSQLData.Execute() 'This line shows unspecified error then the table is having timestamp field
'Then code for store data here...
実行時エラー '-2147467259 (80004005)'; 不明なエラー
Oracle テーブルの構造は次のとおりです。
create table MyTable (
Date_id Integer,
Date_Today Date,
End_Time Timestamp(6)
)
次のようなことを提案しないでください。
my_table から to_char(timestamp_field) を選択
上記のクエリを実行すると、問題は発生しません。 100以上のテーブルがあるため、テーブルにタイムスタンプフィールドがあるかどうかがわからない可能性があるため、レコードセットのタイムスタンプを処理するための永続的なコードが必要です