2012-03-02 133 views
0

Delphi 7. Firebird 2.1。DBExpress未知錯誤代碼65535

我正在使用TSQLDataSet,TSQLDataSetProvider和TClientDataSet。這種架構已經爲我工作了很長很長時間。

今天它開始給我這個錯誤:DBExpress未知的錯誤代碼65535,沒有真正澄清。

我可以在TSQLDataSet中設置一個SQL,並在Fields Editor中添加所有字段。

當我嘗試在設計時添加ClientDataSet中的所有字段時發生此錯誤。沒有涉及我的代碼。

我知道它的方式太litle信息,但真的我什至不知道從哪裏開始挖掘。

注意

  • 我最近安裝德爾福XE2開始遷移
+0

從標識哪個代碼導致錯誤開始。您沒有提供任何更多信息可以繼續用於幫助您。找出發生錯誤時運行的代碼或SQL,然後檢查該位置以查看是否可以找出導致錯誤發生的原因。如果你不知道爲什麼,在這裏編輯你的問題,並提供代碼,儘可能多的額外信息,也許有人可以提供幫助。就我而言,我懷疑任何人都很難提供很多幫助。 – 2012-03-02 19:52:37

+0

你是對的。沒有關於何時發生錯誤的信息。我現在添加了一些信息。謝謝。 – 2012-03-02 19:57:30

+0

您可以發佈SQL查詢返回的字段(名稱,數據類型等)的信息嗎?看起來你有一些在'TClientDataSet'不支持的'TSQLDataSet'中支持的字段類型。如果可能,你可以編輯你的文章來提供模式定義嗎?如果不是,請嘗試每次向「TClientDataSet」添加一個字段 - 如果可以的話,導致問題的那個應該很容易識別。 – 2012-03-02 20:00:38

回答

0

也許你有火鳥/ Interbase的客戶DLL地獄。對於Firebird,您應該使用fbclient.dll,用於Interbase - gds32.dll。如果你不遵循這個規則,那麼DBMS API可能會返回一個神祕的錯誤。和dbExpress驅動程序可能沒有什麼好主意,該怎麼辦這個錯誤。然後它返回另一個神祕的錯誤 - 65535.

可能(再次因爲沒有信息)你有fbclient.dll改名爲gds32.dll使Interbase Borland dbEpress驅動程序高興。然後Delphi XE2安裝了一個真實的gds32.dll或者它作爲Interbase安裝的一部分進行安裝(是嗎?)。目前真實的Interbase gds32.dll與您的Firebird服務器不兼容。

您必須使用SysMon或IDE事件日誌來驗證DLL加載dbExpress驅動程序。然後檢查這個DLL是什麼。那麼可能你需要恢復你的gds32.dll