dbExpressで「DBX エラー:フィールドタイプが不正です」のエラー


Q  2009-07-03 04:45:34  No: 35018

Delphi6 Enterprizeです。ちょっと困っておりまして、
教えていただければと思います。

【DB】
  Oracle10gXE、Oracle9i(両方とも同じ現象)

【使用コンポーネント】
  TSQLConnection
  TSQLQuery

【現象】
ParamByNameをAsIntegerで設定し、Openすると
「DBX エラー:フィールドタイプが不正です」のエラーが
発生します。その他、AsSmallInt、AsFloat、AsValueにしても
エラーがでます。AsStringだとOKです。
エラー回避の方法はありますでしょうか?

例)
  SQLQuery1.Close;
  SQLQuery1.SQL.Clear;
  SQLQuery1.SQL.Add('select * from TEST where CD = :CD');
  SQLQuery1.ParamByName('CD').AsInteger := 1;
  SQLQuery1.Open;


DEKO  2009-07-03 07:36:15  No: 35019

Delphi 6 だと Oracle 8.1.7 までしか対応していないようです。
http://edn.embarcadero.com/jp/article/28405

Oracle 9 なら Delphi 7 以上が必要なようです。
http://edn.embarcadero.com/jp/article/37626

最近 DBX の質問が多い気がするのでまとめてみました。
http://homepage1.nifty.com/ht_deko/tech035.html#tech064


Q  2009-07-03 18:06:17  No: 35020

DEKOさん、ありがとうございます。

Delphi3.1+BDEではOracle11gまで、全く問題なかったので、
期待してたんですが、残念ですね。
昨夜、Delphi2009のトライアル版で試したのですが、
問題ありませんでした。

DBXをまとめて頂いたのは
参考になります。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加