oracle與sqlserver相互操作
2024-08-29 13:29:14
供稿:網友
 
 
一:sqlserver連接oracle
1.配置windows的odbc數據源: 
開始菜單—》設置—》管理工具—》數據源(odbc)—》進入配置用戶dsn或者系統dsn均可以:
添加—》選擇microsoft odbc for oracle—》自定義數據源名稱(最好跟tns中連接串同名!)—》服務器名稱
(必填!填寫tns文件中的連接串名稱)—》完成。 
2.配置sqlserver2000中的連接服務器: 
企業管理器—》安全性—》連接服務器—》右鍵新建連接服務器—》定義連接名稱;
選其他數據源; 指定程序名稱為:microsoft ole db provider for oracle; 產品名稱可不填; 
數據源指定剛才odbc中定義好的數據源名稱; 提供程序字符串按以下格式填寫:user id=username;password=userpasswd
(或者按如下格式:uid=username;pwd=userpasswd),
這里的用戶名和密碼對應所要連接的oracle數據庫中的用戶名和密碼 —》 安全性標簽頁里:
設置用此安全上下文進行,并錄入oracle的數據庫用戶名和密碼—》服務器選項標簽頁可默認—》確定。 
3.完成了。使用方法
在sqlserver企業管理器—》安全性—》連接服務器打開剛建好的連接服務器—》點擊表,
即可在右邊窗口看到該oracle數據庫用戶擁有的的所有表名,但在這里還并不能查看表的記錄,這個需要在sqserver的查詢分析器中用具體sql實現!
訪問表時,使用格式為: [連接服務器名]..[oracle用戶].[表名]。必須為大寫。更詳細具體的使用這里不再贅述。
------------------------------------------------------------------------------------------
二:oracle連接sqlserver
1、安轉透明網關
在自定義安轉內
d:/oracle/ora92/tg4msql/admin/inittg4msql.ora   tg4msql
2、在d:/oracle/ora92/network/admin/listener.ora內添加
 (sid_desc =
      (global_dbname = tg4msql) 
       (program = tg4msql)
      (oracle_home = d:/oracle/ora92)
      (sid_name = tg4msql)
    )
3、配置tns
tnsnames.ora
-----------------
例子1
cdma =
  (description =
    (address_list =
      (address = (protocol = tcp)(host = zhyg)(port = 1521))
    )
    (connect_data =
      (sid = tg4msql)
      (server = dedicated)
    )
    (hs=ok)
  )
例子2
du =
  (description =
    (address_list =
      (address = (protocol = tcp)(host = sha38)(port = 1521))
    )
    (connect_data =
      (sid = jf)
      (server = dedicated)
    )
    (hs=ok)
  )
--------
3、創建數據鏈路  
create public database link du connect to sa identified by sa using 'du'
ok可以使用了
select * from [email protected]