日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
透過SQLServer2008訪問Oracle10g的配置方法

之前寫過一篇關(guān)于SQL Server 訪問MySQL數(shù)據(jù)庫的文章,最近正好又遇到需要訪問Oracle 的情況,將配置過程記錄下來也供大家參考。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了于都免費(fèi)建站歡迎大家使用!

準(zhǔn)備工作

事先在需要訪問Oracle 數(shù)據(jù)庫的主機(jī)上完成以下工作:

1. 安裝SQL Server 數(shù)據(jù)庫:SQL Server 2008 R2 Express

2. 安裝Oracle 客戶端訪問程序:Oracle 10g Client

3. 配置Oracle 客戶端tnsnames.ora 文件,其中需要注意文件中的數(shù)據(jù)庫別名“ORADB”,該名稱在下文創(chuàng)建Linked Server 時(shí)將會(huì)使用到。

 
 
 
 
  1. ORADB =  
  2.   (DESCRIPTION =  
  3.      (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTIP)(PORT = 1521))  
  4.      (CONNECT_DATA = (SID = DBNAME))  
  5.   ) 

4. 確保主機(jī)可以通過SQLPlus 訪問遠(yuǎn)程Oracle 數(shù)據(jù)庫。

創(chuàng)建Linked Server

打開SQL Server Management Studio 進(jìn)入Server Objects 列表,右鍵Linked Servers,點(diǎn)擊“New Linked Server...”

在General 界面中填寫下面幾項(xiàng)內(nèi)容:

Linked server: 填寫Linked Server 名稱

Provider:選擇Microsoft OLE DB Provider for Oracle

Product name:填寫Oracle

Data source:填寫上面提到的數(shù)據(jù)庫別名ORADB

點(diǎn)擊Security ,點(diǎn)選“Be made using this security context”,假設(shè)Oracle 數(shù)據(jù)庫有一個(gè)名稱為admin 的用戶ID,在“Remote login”中輸入訪問帳號(hào),點(diǎn)擊“OK”結(jié)束創(chuàng)建。

完成后Linked Servers 中會(huì)看到剛創(chuàng)建的Oracle 數(shù)據(jù)庫鏈接。

訪問Oracle

接下來就可以在SQL Server 端訪問Oracle 數(shù)據(jù)庫了,查詢語法如下:

 
 
 
 
  1. SELECT * FROM LINKED_NAME..ACCOUNT_NAME.TABLE_NAME; 

結(jié)合上面的實(shí)例,假如要查詢admin 用戶下jobs 表的內(nèi)容,則相應(yīng)SQL 語句應(yīng)為:

 
 
 
 
  1. SELECT * FROM ORASVR..ADMIN.JOBS; 

使用上述方法進(jìn)行數(shù)據(jù)查詢時(shí),若Oracle 表有NUMBER 列時(shí)會(huì)出現(xiàn)轉(zhuǎn)化錯(cuò)誤,這時(shí)可以將NUMBER 類型轉(zhuǎn)化為字符串(也有將該列屬性修改成NUMBER(10),為NUMBER 列設(shè)定好位數(shù))??紤]到View 查詢等因素個(gè)人感覺還是轉(zhuǎn)為字符串的方式較為通用。

當(dāng)然如果查詢的列過多,每個(gè)NUMBER 列都轉(zhuǎn)為VARCHAR 的話工作量也的確不小,這時(shí)***的方法就是使用OPENQUERY 函數(shù):

 
 
 
 
  1. SELECT * FROM OPENQUERY(LINKED_NAME,'SELECT * FROM TABLE_NAME'); 

按照OPENQUERY 的語法上面SQL 語句應(yīng)變?yōu)椋?/p>

 
 
 
 
  1. SELECT * FROM OPENQUERY(ORASVR,'SELECT * FROM JOBS'); 

這樣我們就可以在SQL Server 端方便的訪問Oracle 數(shù)據(jù)庫,并做相應(yīng)的數(shù)據(jù)調(diào)整。


文章題目:透過SQLServer2008訪問Oracle10g的配置方法
文章出自:http://www.dlmjj.cn/article/dhcdsog.html