方法一:
一、 安裝配置oracle客戶端 要訪問orcale數(shù)據(jù),必須在訪問的客戶端機器上安裝oracle客戶端。 Orcale有兩種形式的客戶端: l 完整的客戶端 包括訪問服務(wù)器端數(shù)據(jù)庫的基本Oracle 的 Microsoft OLE DB 訪問接口需要 Oracle Client Software Support File以及 SQL*Net 。還包括用于配置客戶端設(shè)置的工具、sqlplus、企業(yè)管理器等一系列的工具。 l 立即客戶端(instant client) 這個客戶端體積很小,但是只包括了訪問orcale服務(wù)器的最基本的支撐驅(qū)動,沒有設(shè)置管理工具,也找不到可用的圖形界面。對客戶端的設(shè)置需要手工就行。 目前orcale比較新的是oracle 10g版本,以這個版本為例。 1、下載oracle 10 的客戶端 可以到orcale官方網(wǎng)站下載,需要先注冊,然后下載。 下載適用于Microsoft Windows (32-bit)的Oracle Database 10g Client Release 2的客戶端,下載地址:http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip 2、安裝oracle 10 客戶端 下載好后,解壓,安裝。 安裝時有四個選項: l Instantclient,相當于最小化安裝。 l 管理員,完整安裝。 l 運行時 l 自定義 為了管理方便,一般以管理員方式安裝。 3、配置oracle 10 客戶端 在客戶端主要需要配置兩個設(shè)置,命名方法和服務(wù)器別名,還有一個監(jiān)聽程序是服務(wù)端需要用的,用來監(jiān)聽客戶端的訪問,客戶端不必設(shè)置監(jiān)聽程序。 這些設(shè)置都能在net manager工具中進行,在oracle程序組中的“配置和移植工具”中的“net manager”。如圖所示: 概要文件就是用來設(shè)置命名方法和驗證方式的的 3.1. 命名方法 在窗口左面的上部下拉列表中選“命名”,左邊窗口顯示目前可用的方法,右邊是已經(jīng)選擇的命名方法,幾個主要的命名方法有: l TNSNAMES表示采用TNSNAMES.ORA文件來解析 l ONAMES表示Oracle使用自己的名稱服務(wù)器(Oracle Name Server)來解析,目前Oracle建議使用輕量目錄訪問協(xié)議LDAP來取代ONAMES l HOSTNAME表示使用host文件,DNS,NIS等來解析 一般使用本地命名方式來解析服務(wù)器名,即使用TNSNAMES.ORA中設(shè)置的服務(wù)器名。TNSNAMES.ORA中的服務(wù)器名服務(wù)器別名中設(shè)置。 3.2. 驗證方式 在下拉列表中選擇“orcale高級安全性”,設(shè)置用戶連接Oracle服務(wù)器時使用哪種驗證方式。在下面的左邊窗口顯示可用的驗證方式,右邊是已選的驗證方式,主要的驗證方式有: l NTS表示操作系統(tǒng)身份驗證 l NONE,什么都不選表示Oracle數(shù)據(jù)庫身份驗證 l KERBEROS5,使用kerberos 5 驗證方式 這些驗證方式可以同時采用,一般采用Oracle數(shù)據(jù)庫身份驗證,即這里什么都不用設(shè)置即可,選了其他驗證方式也不影響Oracle數(shù)據(jù)庫身份驗證。 3.3. 服務(wù)器別名 上面命名方法中選擇了TNSNAMES本地命名方法時,在這里設(shè)置服務(wù)器的別名。 在左邊窗口選“服務(wù)命名”,就可以新增和編輯本地服務(wù)器別名。這里生成的服務(wù)器別名都反映在tnsnames.ora文件中。 本地服務(wù)器命名設(shè)置的服務(wù)器實際上設(shè)置了服務(wù)器的四個主要參數(shù):服務(wù)器主機名(可以是主機名也可以是主機ip)、服務(wù)器端口號(默認1521)、訪問協(xié)議、要訪問服務(wù)器上數(shù)據(jù)庫服務(wù)名。 這里的exchange是客戶端的服務(wù)器別名,客戶端訪問服務(wù)端數(shù)據(jù)庫就要使用這個名稱。 服務(wù)名databaseName是服務(wù)端需要訪問的那個數(shù)據(jù)庫的服務(wù)名。 下面就是這個服務(wù)端的ip、端口和協(xié)議(一般為TCP/IP). 設(shè)置服務(wù)器別名后,在tnsnames.ora文件中這樣反映出來: EXCHANGE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 203.175.156.82)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = exchang) ) ) 二、 Sql server中新建指向orcacle的鏈接服務(wù)器 上面在客戶端設(shè)置了訪問oracle服務(wù)器的必要設(shè)置,客戶端可以通過oracle的客戶端訪問orcale服務(wù)端的數(shù)據(jù)庫了。 這里只討論使用sql server的鏈接服務(wù)器鏈接oracle服務(wù)器訪問數(shù)據(jù)的情況。 設(shè)置如下: l 在sql server中新建一個鏈接服務(wù)器,比如鏈接服務(wù)器名為:oracle_exchange l 數(shù)據(jù)訪問接口選擇:Microsoft OLE DB Provider for Oracle l 產(chǎn)品名稱:Oracle l 數(shù)據(jù)源:就是上面步驟中建立的服務(wù)器別名,代表要訪問的oracle服務(wù)器上的要訪問的那個數(shù)據(jù)庫。 l 在安全性中選“使用此安全上下文建立連接”,然后輸入訪問oracle的用戶名和密碼。 Ok,其他的上面沒有提到的設(shè)置不需要設(shè)置。下面即可通過。 三、 在sql server中通過鏈接服務(wù)器訪問orcale 由于orcale的服務(wù)名是直接指向到orcale服務(wù)器上的某一個數(shù)據(jù)庫,所有通過鏈接服務(wù)器訪問orcale的數(shù)據(jù)是這樣的形式(指定數(shù)據(jù)庫的位置不需要填): 服務(wù)器別名..所有者.數(shù)據(jù)庫對象 oracle_exchange..username.tablename |
方法二:
假設(shè)Oracle數(shù)據(jù)庫的用戶名為test,密碼為test,在SQL Server數(shù)據(jù)庫所在服務(wù)器上建立的指向Oracle數(shù)據(jù)庫的服務(wù)命名為hisorcl.
1. 在SQL Server的企業(yè)管理器中的對象資源管理器中,展開“服務(wù)器對象”,在“鏈接服務(wù)器”上右擊,選“新建鏈接服務(wù)器”。如下圖所示進行配置。
使用下面的這個方法會報“……為列提供的元數(shù)據(jù)不一致……”的錯誤信息。
通過連接向Oracle中的表插入數(shù)據(jù)
方法三:
1、在SQL_SERVER 2008服務(wù)器上安裝Oracle 9i/10g數(shù)據(jù)庫或者客戶端。 2、新建一個數(shù)據(jù)庫, ORCL 用戶名:SA 密碼:sa 建一個表格:TEMP 順便可以插入一些數(shù)據(jù) 3、我的電腦-屬性管理-服務(wù),確認Distributed Transaction Coordinator服務(wù)已啟動,這個服務(wù)確定要啟動。 4、打開SQL SERVER Management Studio,服務(wù)器對象-連接服務(wù)器-新建連接服務(wù)器。 5、鏈接服務(wù)器:寫上鏈接服務(wù)器的名字,可以隨便定,如:ORACLE 服務(wù)器類型,選擇其他數(shù)據(jù)源 訪問接口:選擇 Microsoft OLE DB Provider for Oracle 如果安裝了數(shù)據(jù)庫,用Oracle Provider for OLE DB也可以 產(chǎn)品名稱:寫上 Oracle 這個是固定的 數(shù)據(jù)源:寫上數(shù)據(jù)庫的實例名 如:ORCL 訪問接口字符串:user id=SA;password= sa 也可以用提供的訪問接口名 如:OraOLEDB.Oracle (用Oracle Provider for OLE DB時可不填) 在選擇安全性選項頁,使用此安裝上下文建立連接: 遠程登錄:SA 使用密碼:sa
![]() 這樣就可以在連接服務(wù)器欄里看到新建的連接服務(wù)器,里面有數(shù)據(jù)
6、如果在SQL2008查詢分析器中查詢 寫法有兩種 使用T-SQL語法: SELECT * FROM[ORACLE]..[SA].[TEMP] 使用PLSQL語法: SELECT * FROM openquery(ORACLE,'SELECT * FROMSA.TEMP') |