我們遇到了一個非常奇怪的問題。我們使用下面的表結構運行一個firebird 2.5數據庫。Delphi:使用ODBC的Firebird 2.5的ClientDataSet中的文本Blob
CREATE TABLE TEST (
ID INTEGER NOT NULL,
MEMO BLOB SUB_TYPE 1 SEGMENT SIZE 80,
DATO TIMESTAMP
);
ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (ID);
我們在Windows 7
使用火鳥2.5.1 + ODBC 2.0.0.151我們使用Delphi XE,與TADOConnection + TADODataSet +的TDataSetProvider +的TClientdataSet連接到數據庫。
問題是我們在ClientDataSet中插入(或更新)新記錄並更新字段MEMO。 (TMemoField)(這一直在FB 1.5以及MS SQL服務器的所有版本中都能正常工作)。
現在使用firebird 2.5數據庫,我們得到錯誤消息「參數的類型錯誤,超出了可接受的範圍,或者彼此衝突。」當從Delphi IDE運行時,但如果我們在外面跑步則沒有錯誤。
最大的問題是當我們更新字段MEMO時,字段DATO的時間部分消失了。如果我們不包含MEMO字段,則一切正常。
另一個奇怪的是,如果我們直接使用TADODataSet來更新字段,一切正常。只有在通過ClientDataSet更新時,這是一個問題。
我做了一個小型演示項目來說明問題。
Test.zip(1090 KB): http://www.consultas.no/u/3037f738
所有的技巧和提示,將不勝感激!
最好的問候, 比約恩拉森
對不起,但沒有幫助。同樣的問題。 –