色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

通過(guò)SQL Server 2008 訪(fǎng)問(wèn)Oracle 10g

  準(zhǔn)備工作

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

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

  2. 安裝Oracle 客戶(hù)端訪(fǎng)問(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 訪(fǎng)問(wèn)遠(yuǎn)程O(píng)racle 數(shù)據(jù)庫(kù)。

sqlplus

  創(chuàng)建Linked Server

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

new

  在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

input

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

account

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

Done

  訪(fǎng)問(wèn)Oracle

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

SELECT * FROM LINKED_NAME..ACCOUNT_NAME.TABLE_NAME;

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

SELECT * FROM ORASVR..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 * FROM OPENQUERY(LINKED_NAME,'SELECT * FROM TABLE_NAME');

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

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

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

it知識(shí)庫(kù)通過(guò)SQL Server 2008 訪(fǎng)問(wèn)Oracle 10g,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 化德县| 大石桥市| 民勤县| 弋阳县| 锦州市| 宁南县| 府谷县| 宜良县| 七台河市| 海安县| 旌德县| 辽中县| 工布江达县| 南陵县| 和田县| 远安县| 金沙县| 普定县| 班玛县| 渭源县| 工布江达县| 汽车| 庄河市| 彰化县| 革吉县| 湖南省| 桃源县| 台州市| 休宁县| 麟游县| 政和县| 临泽县| 潞城市| 桂平市| 大安市| 清水河县| 垦利县| 庄河市| 辛集市| 永和县| 遂昌县|