- ベストアンサー
SQL実行エラー
VBでオラクルを使ったアプリケーションをテストしているのですが、 次のようなエラーが出てとまってしまいます。 SQL実行エラー ORA-01801 日付形式が内部バッファに対して長すぎます。 原因はいったい何なのでしょうか? 知っている方がいらしたら教えてください。 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
想像ですが、SQL文を作成しているところで、VBの日付をそのまま渡してないですか? Dim strSQL As String Dim vbDate As Date vbDate=Now strSQL="select * from TableA Where oraDate="+vbDate+";" もし、そうしてたら、次のように直してください。 strSQL="select * from TableA Where oraDate=TO_DATE('" + Format(vbDate, "yyyy/mm/dd") + "','YYYY/MM/DD');" 全然、見当違いでしたらすんません。
その他の回答 (1)
- urk
- ベストアンサー率33% (18/53)
回答No.1
たぶん オラクルに渡すSQL文で日付の形がおかしいのではないでしょうか。 そのSQL文を SQL*Plusで直接流すと解ると思うのですが。 例えばSQL文を作るとこのマクロを StrSQL=StrSQL & "'" & format(日付,"yyyy/mm/dd") & "'" こんな感じで、作成してみてもだめでしょうか。
質問者
お礼
ありがとうございました。 実際、SQLで直接流してみるという手がありますね。 大変勉強になります。
お礼
ご丁寧な回答本当にありがとうございました。 またよろしくお願い致します。