[AS400] 在 SSMS 使用 OpenQuery 查詢 AS400 資料表

撰寫 SpecFlow 的時候需要用到 AS400 上的資料欄位,為了快速產生 Spec Table 於是又把腦筋動到 SSMS 的 Results to Text,詳見前文

https://dotblogs.com.tw/yc421206/2016/01/11/232015

所以要用 SSMS 連接 AS400,對 AS400 不熟,於是詢問同事,該如何處理,經過整理後得到了以下答案...

隨手記錄下來,以免忘記

開發環境

  • Windows 10 Enterprise x64 CHT
  • SQL Server 2014 Developer Edition
  • IBM i Access for Windows V7R1

版本不同會導致操作畫面不同

實作步驟

接著開啟 SSMS,新增一個 Linked Server

Provider:IBM DB2 for i IBMDA400 OLE DB Provider

Provider Name:IBMDA400

Data Source:伺服器位置

輸入帳號/密碼

完成之後,應該可以在Catalogs 展開節點看到以下服務

使用 OpenQuery

SSMS 無法直接瀏覽 AS400 的資料,可以透過 OpenQuery 瀏覽,語法相當簡單,如下範例:

SELECT * FROM OPENQUERY ([AS400],'select * from your library.your table')

查詢結果如下:

我只是要利用 SSMS 幫我產生SpecFlow,OpenQuery 的異動命令我應該就用不到了,有興趣的可以到以下連結
https://msdn.microsoft.com/zh-tw/library/ms188427.aspx

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo