公告版位
哈囉,丫德我會常常更新一些工作上的心情記事及資訊科技新知與大家分享...

若想要在sql server中查詢informix資料庫的table資料的話,要怎麼連呢?以下是其中一個方法

  1. 首先要在本機有安裝Sql server
  2. informix client driver,安裝完後informix client driver後,先確保setnet32,設定完後,是可以run的(指的是informix的部份)

  3. 在本機的odbc中建立一個informix連線
    image

在sql server中,新增一個查詢,輸入以下內容

EXEC sp_addlinkedserver
@server = 'informix1', -- defined in SetNet32 on tab 'Server information', -- field 'Informix Server'
@provider = 'MSDASQL', -- 不要變更!
@datasrc = 'myinformix', -- 你在系統的odbc中所設的名稱.
@srvproduct = 'Informix-CLI 3.30 (32 bit)',
@provstr = 'Host=dbser;Server=informix1;Service=1526;Protocol=olsoctcp;Database=mmas;UID=sa;PWD=123'

注意上面的provstr中的設定,請依照您setnet32中的設定為主,我只是舉例

--上述指令執行完後,就可以使用openquery的方式做查詢

openquery的用法如下
OPENQUERY ( linked_server ,'query' )


引數
linked_server
這是代表連結伺服器名稱的識別碼。
' query '
這是在連結伺服器中執行的查詢字串。該字串的最大長度是 8 KB。

舉例如下sql


查詢


SELECT * FROM OPENQUERY(informix1, 'SELECT name, id FROM joe.titles')

新增

INSERT OPENQUERY (informix1, 'SELECT name FROM joe.titles')
VALUES ('NewTitle');


修改

UPDATE OPENQUERY (informix1, 'SELECT name FROM joe.titles WHERE id = 101') 
SET name = 'ADifferentName';
刪除
DELETE OPENQUERY (OracleSvr, 'SELECT name FROM joe.titles WHERE name = ''NewTitle''');


當然link server不只限連informix,其他的如oracle、db2、sybase...等都可以連哦kk.gif

 

 

創作者介紹

信德隨想

丫德 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • 阿嘉
  • 看完您這篇文章~
    讓我這2天遇到無法解決問題的心情....豁然開朗

    謝謝 ^^
  • 有幫助到我也很開心,恭禧你啊

    丫德 於 2012/03/03 16:37 回覆

找更多相關文章與討論
【 X 關閉 】

【痞客邦】大學生網路社群使用習慣調查

親愛的讀者,痞客邦希望能了解大學生的網路社群使用習慣,
填問卷即可抽獨家好禮喔!
(注意:關閉此視窗將不再出現)