若想要在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

 

 

arrow
arrow
    全站熱搜

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