Sql-Server
SQL Server 和 iSeries 之間的連結伺服器是四捨五入的小數
我們剛剛建立了一個新的 SQL Server 2008 數據庫,我在我們的伺服器和我們從中獲取一些數據的 iSeries As400 伺服器之間建立了連結。
我遇到的問題是它正在四捨五入任何浮動數字,這很痛苦,因為我們很多時候都在處理美元金額。
select * FROM openquery(NADS, 'select CMD, 1.23 Type from CREDD')
在我們的舊伺服器上,這將返回 CMD 列,以及一個名為 Type 的列,一直到 1.23。在新的伺服器類型上只有 1.00
據我所知,連結部分設置相同。IBM i Access for Windows ODBC Setup 基本相同,但我不確定版本之間存在一些差異。
編輯:如果重要的話,對於我使用 Microsoft OLE DB Provider for ODBC Drivers 的提供程序
編輯2:
提供者選項相同
連結伺服器屬性:
iSeries Access for windows ODBC 設置似乎相同
弄清楚了!!
顯然我們沒有安裝最新的服務包。我們必須安裝 64 位版本的服務包(32 位版本安裝失敗),當它完成時,十進制數字出現了。
如果有人想知道:
我們正在使用“IBM iAccess for Windows 7.1 (07.01.0800) (64bit)”並使用“Microsoft OLE DB Provider for ODBC Drivers”作為連結伺服器 sql 驅動程序。
看到我又遇到了這個問題,又不得不再次去尋找Service Pack,這裡是Service Pack下載頁面的連結,這樣幾年後我再次遇到這個問題時,我會發現它更容易.. .
http://www-03.ibm.com/systems/power/software/i/access/windows_sp.html