2

TQueryBDEを介してInterbaseに接続されている多くの場所でこのエラーが発生します。正確なメッセージは次のとおりです。

一般的なSQLエラー。動的SQLエラー、SQLエラーコード= -804、SQLDAがないか、バージョンが正しくないか、変数の数/タイプが正しくありません。

このメッセージは、デザイン時にを開いたり編集したりしようとするとすぐにTQuery、または実行時に投稿が行われたときに表示されます。実行時の投稿アクションについては、投稿の前にテーブルを準備すると、投稿が適切に行われることがわかりました。

同じエラーについてCraigStunzのウェブログを読みました。私が持っているパラメータはすべて整数です。データベースは小さく、Interbase 2009であり、エラーメッセージを表示するクエリに特定のパターンは見られません(選択、削除、更新などが可能です)。Delphiからクエリを実行することは問題ありません。

テーブルのデータ型は数値(15,2)です。

テーブルは、Interbaseバージョン5-方言1からInterbase2009にバックアップ/復元されています。

実際のODSは13.1(Interbase 9)です。

UDFはありません。

何が悪いのか分かりますか?

[アップデート]

エラーが表示されない/エラーが表示されるクエリのサンプル:

エラーなし:

select MASTER_ID, GL_ACCT_DR, GL_ACCT_CR,
VENDOR_ID, VENDOR_CODE,
ORDER_NO, ORDER_DATE, INVOICE_NO, INVOICE_DATE,
DESCRIP, BUYER, SHIP_VIA, FOB, IS_FREIGHT_PREPAID,
IS_TAXABLE, TERMS_ID, TERMS_CODE,
DISC_DAYS_OR_DATE, DISCOUNT_PCT, NET_DAYS_OR_DATE,
BILL_TO_LOC_ID, SHIP_TO_LOC_ID,
BILL_TO_LOC_CODE, SHIP_TO_LOC_CODE,
DISCOUNT_DATE, DUE_DATE
from P_JRNTRN where
ENTITY_DB_ID = :PRIMARY_DB_ID and
SRC_MODULE = 'PJ'
order by INVOICE_NO

パラメータは整数です。

エラー:

select * from P_JRNTRN where
BATCH_ID = :BATCH_ID
order by MASTER_ID

パラメータは整数です。

[更新]...この問題を解決できなかったため、BDEの代わりにIBDACに移動しました。これ以上エラーは発生しません。ありがとうございます。

4

2 に答える 2

0

私には、方言 1 に問題があるように見えます。接続がそれを使用していることを確認しますか? またはデフォルトの3?

于 2009-11-25T19:41:53.723 に答える