2009-08-28 95 views
0

我有一箇舊的應用程序(用Delphi 6編寫)必須移植到Delphi 2006(更新2)。該應用程序使用DBExpress連接到Interbase 6.x數據庫,但新版本需要連接到Firebird 2.x Superserver。德爾福6 - >德爾福2006年dbexpress怪異?

移植還行,沒有實際問題。但是現在,當我嘗試從移植應用程序連接到新的火鳥服務器,我收到以下錯誤:

數據庫錯誤 數據庫服務器錯誤:用於讀取操作

運行編譯相同的應用程序沒有當前記錄與德爾福6,談到相同的Firebird服務器運行良好。在Delphi 2006中編譯應用程序所需的更改與數據庫代碼無關 - 所有本地庫的東西。該應用程序使用TSQLDataset數據集提供程序和客戶端數據集。

任何人有任何想法如何或爲什麼? DBExpress可能導致此行爲的任何更改? 謝謝。

回答

0

我不認爲德爾福2006本身支持Firebird。想想你需要安裝FIBPlus

繼承人什麼是在2006年德爾福支持列表:

Old driver  New driver  Database and Version 

dbexpinf.dll dbxinf30.dll Interbase 7.5 
dbexpora.dll dbxora30.dll Oracle 10g 
dbexpdb2.dll dbxdb230.dll db2 UDB 8.x 
dbexpmss.dll dbxmss30.dll MSSQL 2000 
dbexpmys.dll dbxmys30.dll MySQL 4.0.24 
dbexpasa.dll dbxasa30.dll Adaptive Sybase Anywhere 9 
dbexpase.dll dbxase30.dll Sybase 12.5 
dbexpinf.dll dbxinf30.dll Informix 9.x 

Here

+0

James, 切換到FIBPlus需要我替換大量的數據集組件,並重寫我們的方法的大量列表以對這些數據集執行標準操作。現在,這是我想盡可能推遲的一個選項。希望有一個使用標準Delphi組件的(更簡單的)解決方案。 但我會記住FIBPlus。 感謝您的回答。 ... Arjan ... – 2009-08-28 11:39:50

0

Until Delphi 2010提取,內置的驅動程序的dbExpress官方從來沒有支持火鳥。
實際上,很多組合從來沒有工作過。

或者:

  • 去一個dbExpress驅動程序正式支持火鳥(search google),
  • 或移動到另一個數據庫中間層(的FIBPlus,詹姆斯建議是非常好的)。

--jeroen

0

首先,重試從一個新的,1形式的應用程序相同的步驟(放的SQLConnection,的SQLQuery等等等等),你想要的SQL填寫並嘗試連接。

我相信有一些連接參數在版本之間有所不同,因爲我已經使用D2006 DBexpress成功訪問Firebird 2.x。但是這個應用程序沒有被移植,而是新的項目。