2012-12-27 48 views
1

我一直在努力研究這一整天,而且我仍然難倒了。我試圖將本地(AS400/i5)DB2表中的數據追加/插入到遠程SQL Server 2005表中,作爲運行在i5上的程序的一部分。我的主要攻擊角度是使用Java/JDBC訪問MSSQL表,但目前還沒有運氣。看起來這應該很容易,但找到有用的信息卻令人驚訝地困難。我如何使兩個單獨的連接以編程方式進行交互?將數據從本地DB2表追加到遠程SQL Server表

回答

0

如果您在IBM i 7.1上使用Technology Refresh 4 [TR4],那麼您可以使用標準命名規則(即rdbname.schema.table(或view))下的三部分命名。這使單個SQL語句可以引用兩個不同系統上的數據。

需要將SQL-Server數據庫添加爲IBM i關係數據庫目錄條目(ADDRDBDIRE)。詳情請閱讀this article。爲了討論起見,我們假設你調用條目'msdb'。

然後,您應該能夠從SQL Server複製這樣的:

INSERT INTO localdb2table (columnlist) 
    SELECT columnlist 
     FROM msdb.schema.sometable 

(警告:我不是在TR4呢,所以我無法測試這個答案)

+0

真正瞭解我7.1 TR4;但如果您按照[**文章**](http://www-912.ibm.com/s_dir/slkbase.NSF/0/5a3856efecb7f19f8625672b006cee76)鏈接所有方式獲取SQL Server信息,則您將達到「典型建議零售價格*:用戶許可證:759美元或處理器價值單元(PVU)許可證:75,900美元「。 Microsoft不提供其他通過JDBC Type 4驅動程序的開放連接。 – user2338816

+0

我沒有使用過這個,但看起來[Microsoft說他們支持DRDA連接](http://msdn.microsoft.com/zh-cn/library/dn130703(v = bts.80).aspx)到SQL Server通過Microsoft DRDA作爲其主機集成服務的一部分。 – WarrenT

+0

我花了幾分鐘的時間(嘗試)來計算在微軟方面的許可成本,但很快就遇到了太多的計算方法。看起來好像是在簡單的單核系統上安裝大約4個IBM產品的用戶許可證。 (或者說,難以確定。)現在還不清楚MS爲什麼不全面支持DRDA並完成它,特別是因爲它們是創建它的組的一部分(在他們選擇放棄之前出去,並與他們自己的子集)。我的評論應該更清楚地說明:「MS不提供(無需支付額外費用)......」。 – user2338816

相關問題