我有一個與Delphi 6 + Oracle 10gR2 + ADO + ClientDataSet的問題。德爾福6與ADO + Oracle返回NUMBER與不同的精度,生成BCD溢出
每當我在字段NUMBER(19,9)上運行聚合函數時,結果列會向Delphi返回一個NUMBER數據類型,並且在某些機器上它將作爲精度爲38的TBCDField加載,並且一切順利,但在某些機器上,它以TBCDField的形式加載,精度爲255,並且在字段中出現BCD溢出。
複製的問題,只是創建列號(19.9)表,並運行SELECT SUM(列名)列名 FROM table_name的 GROUP BY 列名。
儘管列是NUMBER(19,9),但結果列將是一個沒有精確定義的NUMBER。
在Delphi中,將查詢加載到一個ADOQuery中,DataSetProvider鏈接到它並且一個ClientDataSet鏈接到DataSetProvider。在我調用ClientDataSet.Open之後,在某些機器上,我在NUMBER字段上收到了一條BCD溢出消息,但是在許多機器上它工作的很好。
爲什麼我在這兩臺機器上的midas.dll,ADO,服務器,用戶,oracle客戶機都是相同的,在某些機器上獲得了255的精度?有任何想法嗎?
我會嘗試使用進程資源管理器。好主意。但我相信,兩臺機器都有相同的客戶端 – Pascal 2009-07-18 04:10:20