• ベストアンサー

SQL実行エラー

VBでオラクルを使ったアプリケーションをテストしているのですが、 次のようなエラーが出てとまってしまいます。 SQL実行エラー ORA-01801  日付形式が内部バッファに対して長すぎます。 原因はいったい何なのでしょうか? 知っている方がいらしたら教えてください。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • osaosa42
  • ベストアンサー率60% (20/33)
回答No.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');" 全然、見当違いでしたらすんません。

saruno
質問者

お礼

ご丁寧な回答本当にありがとうございました。 またよろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • urk
  • ベストアンサー率33% (18/53)
回答No.1

たぶん オラクルに渡すSQL文で日付の形がおかしいのではないでしょうか。 そのSQL文を SQL*Plusで直接流すと解ると思うのですが。 例えばSQL文を作るとこのマクロを  StrSQL=StrSQL & "'" & format(日付,"yyyy/mm/dd") & "'" こんな感じで、作成してみてもだめでしょうか。

saruno
質問者

お礼

ありがとうございました。 実際、SQLで直接流してみるという手がありますね。 大変勉強になります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PL/PCLでORA-06502のエラー

    失礼します。 あるストプロを作成し、VBから引数を渡して実行したところ、"ORA-06502: PL/SQL: 数値または値のエラー::文字列バッファが小さすぎます。"というエラーが出てきてしまいます。 しかし、VBから呼ぶのではなくストプロ単体で動かした場合は正常に動きます。ストプロ単体で動かしても同じエラーが出るのなら納得出来るのですが、VBからでのみエラーが出てきます。原因が全く分かりません。。そういうことってあるのでしょうか?? 何か原因が想像出来る方は教えて頂けると有り難いです。

  • SQL 実行時にエラー

    oracle10gをfedora10にインストールしてfedora eclipseにDBViewerをプラグインしてoracleに接続しています。 DBViewerでテーブルを作成しようとSQL文を実行してみるとエラーが出てテーブルが作成できません。 エラー内容 ORA-01031:insufficient privileges oracleサイトで検索してみますと権限不足ということなのですが・・・・ DBViewerは接続できているのを確認しEnterprise Managerも起動を確認しています。 DBViewerに接続する時のユーザの権限に問題があるのでしょうか。 よろしくお願いします。

  • オラクル(PL/SQL)のエラー

    いつもお世話になります。 オラクル・バージョン8.1.5を使用しています。 PL/SQLを実行すると以下のエラーが発生します。色々調べたのですが、解決しません。 なぜでしょうか?(ロジックがここでは書けないので、エラーのみ記載致します) ORA-06550:行1、列19:*PLS-00103: Encountered the symbol "." when expecting one of the following・・()-+mod この後ろは読めませんでした。 また、PL/SQLを実行したりするには、ただ単にオラクルをインストールしただけでは駄目なのでしょうか? よろしくお願い致します。

  • オラクルのSQLについて

    オラクルのSQLについて質問です。 開発環境はVB6.0です。 引継ぎをまかされたのですがオラクルは操作したことがないので困っています。 Set Ora = dbOra.CreateSql("begin EMPCRMI(:KA, :ROOM, :YMD, DATA1, :DATA2, :DATA3, :DATA4, :RET) ; end;", 0&) のEMPCRMIの部分が何なのかがわかりません>< 検索をかけてもVB構文ないで検索をかけてもヒットしません。 DATAの拡張を行うためにDATA5.DATA6と増やして実行したらエラーが起きました。 データベースのテーブルでは拡張領域は確保してあるので何が原因なのかわからないでいます、、、 お知恵をお貸しください。

  • ストアド実行時エラー

    vb.net2010とoracle10gを使用してます ストアドをVB.NET2010でODBC経由で実行するとodbc4200 ora-00900 sql文が無効 ですとなります。 このストアドをsql/plusからだと問題無く実行出来ます。 なぜでしょうか?

  • sqlのエラーハンドリングについて質問です。

    シェルからsqlplusを実行し、そのsqlplusで発生したエラーをハンドリングするために、 出力内容をORACLEエラーコード(ORA-xxxxx)、SQLPLUSエラーコード(SP2-xxxxx) で検索して判定しています。 また、SQLで何らかのエラーが発生した際に処理を終了させるために、 SQL実行前に whenever sqlerror exit; whenever oserror exit; を定義しています。 何らかのエラーが発生した際は、ORACLEエラーコード(ORA-xxxxx)、SQLPLUSエラーコード(SP2-xxxxx) が出力されるため、エラーハンドリングは可能と考えているのですが、 sqlplusのstartコマンドでsqlファイルを実行した場合のみ、エラーコードが出 力されないため、ハンドリングできません。 ■実行例 SQL> start 存在しないsqlファイル O/Sメッセージ:No such file or directory 切断しました。 試しにwhenever oserror exit;の記述を削除したところ SP2-0130が出力されエラーハンドリングできました。 whenever oserror exit; の記述があるとエラーコードが出力されないのはなぜでしょうか??

  • ストアド実行時エラー

    vb.net2010とoracle10gを使用してます ストアドを実行するとodbc4200 ora-00900 sql文が無効 ですとなります。 このストアドをsql/plusからだと問題無く実行出来ます。 よろしくお願いします。

  • SQL*Plus のSAVEとGETコマンド

    現在、WindowsXP環境で、オラクル11g R2を勉強中です。SQL*Plus でSELECT文を1つ実行し、その後、SAVEコマンドを使ってバッファをファイルに保存しました。ファイルの中身は、メモ帳で開くと、以下のような感じです。 SELECT no FROM student / バッファをクリアして、このファイルをGETコマンドでバッファに読み込み、RUNコマンドで正常に実行できました。 今度は、違うSELECT文を実行します。次に、「SAVE ファイル名 APPEND」で、実行したバッファの内容を、先ほどのファイルに追加しました。ファイルの中身は、メモ帳で開くと、以下のような感じです。 SELECT no FROM student / SELECT no,name FROM student / ところが、バッファをクリアして、上記のファイルをGETコマンドで読み込み、RUNコマンドで実行すると以下のようなエラーになります。 SQL> run 1 SELECT no FROM student 2 / 3* SELECT no,name FROM student / * 行2でエラーが発生しました。: ORA-00933: SQLコマンドが正しく終了されていません。 APPENDで追加する前のSQL文では、問題なかったので、APPENDしたことで、最初のSQL文の終端がおかしくなったようです。気になるのは、SQL文の次の行に挿入されている / です。なぜ、このような文字が勝手に挿入されるのでしょうか?これは、Windows 環境が原因でしょうか?それとも、SAVE APPENDのバグでしょうか? 初歩的な質問で恥ずかしいのですが、原因や対策方法がおわかりの方がいらっしゃいましたら、教えていただけないでしょうか。

  • 「OIP-04126:引数値は無効です。」エラーについて

    ご教授ください! 環境 OS WinXP VB6,ORACLE ORACLEへの接続はOO4Oで行なっています。 VBからプロシージャーを実行させたいのですが パラメータを渡すために以下のようにしました。 Dim ora AsObject Set ora = oraParameter(パラメータ名) ora.put_Value パラメータ値, パラメータ配列番号 ところが「OIP-04126:引数値は無効です。」というエラーで落ちてしまいます。 調べては見ましたが原因がわかりません。 よろしくお願い致します。

  • ORA-00979エラーについて

    Oracle Database 10g Release 10.2.0.5.0で下記のSQLを 実行するとエラーが発生します。 Oracle Database 10g Release 10.1.0.4.0ではエラーが 発生しません。 何かバージョンによって違いがあるのでしょうか? -----SQL文-------------------------- SELECT v1.TEST1 AS TEST1, v1.TEST2 AS TEST2 FROM TESTv v1 WHERE v1.TEST4 = '999999' GROUP BY v1.TEST1, v1.TEST2 ORDER BY v1.TEST5 ------------------------------------ ---エラー--------------------------------- v1.TEST5 * 行14でエラーが発生しました。: ORA-00979: GROUP BYの式ではありません。 ------------------------------------------

このQ&Aのポイント
  • iPhoneの写真をパソコンにUSBメモリ経由でコピーする方法と、エラーが起きる原因について詳しく解説します。
  • iPhone12proの写真をパソコンに移動しようとする際に発生するエラーの原因や、他の写真移動の方法についてご紹介します。
  • 『フォト』アプリを使ってiPhoneの写真をパソコンにインポートする際に発生する必ず途中で失敗するエラーについて解決策としてGoogleフォトなどのクラウドストレージ利用をご提案します。
回答を見る

専門家に質問してみよう