日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法

發(fā)布時(shí)間:2023/12/15 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

準(zhǔn)備工作

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

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

2. 安裝Oracle 客戶(hù)端訪問(wèn)程序:Oracle 10g Client

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

ORADB?=

(DESCRIPTION?=

(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?HOSTIP)(PORT?=?1521))

(CONNECT_DATA?=?(SID?=?DBNAME))

)

4. 確保主機(jī)可以通過(guò)SQLPlus 訪問(wèn)遠(yuǎn)程O(píng)racle 數(shù)據(jù)庫(kù)。

創(chuàng)建Linked Server

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

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

Linked server: 填寫(xiě)Linked Server 名稱(chēng)

Provider:選擇Microsoft OLE DB Provider for Oracle

Product name:填寫(xiě)Oracle

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

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

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

訪問(wèn)Oracle

接下來(lái)就可以在SQL Server 端訪問(wèn)Oracle 數(shù)據(jù)庫(kù)了,查詢(xún)語(yǔ)法如下:

SELECT*FROMLINKED_NAME..ACCOUNT_NAME.TABLE_NAME;

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

SELECT*FROMORASVR..ADMIN.JOBS;

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

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

SELECT*FROMOPENQUERY(LINKED_NAME,'SELECT?*?FROM?TABLE_NAME');

按照OPENQUERY 的語(yǔ)法上面SQL 語(yǔ)句應(yīng)變?yōu)?#xff1a;

SELECT*FROMOPENQUERY(ORASVR,'SELECT?*?FROM?JOBS');

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

原文標(biāo)題:通過(guò)SQL Server 2008 訪問(wèn)Oracle 10g

鏈接:http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html

【編輯推薦】

【責(zé)任編輯:彭凡 TEL:(010)68476606】

點(diǎn)贊 0

總結(jié)

以上是生活随笔為你收集整理的oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。