若想要在sql server中查詢informix資料庫的table資料的話,要怎麼連呢?以下是其中一個方法
- 首先要在本機有安裝Sql server
- informix client driver,安裝完後informix client driver後,先確保setnet32,設定完後,是可以run的(指的是informix的部份)
- 在本機的odbc中建立一個informix連線
在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...等都可以連哦
留言列表