SQL Serverのデータ移行[32]機械:ORACLEでのSQL Serverのクエリデータ

ORACLEは達成するためにサーバーをリンクするために、SQL ServerからOracleクエリデータは、あなたがSQL Serverで作成することができますが、32ビット、64ビットマシンやソフトウェアに応じて、あなたは別のドライバを実装する必要があります。

 32ビットマシンでは、インタフェースにアクセスすることにより、マイクロソフトOLE DBは、達成するために、Oracleのために提供します。  

 

1、機械およびソフトウェア環境

マシンは、仮想マシン、Windows XPのインストールの、SQL Serverの20008R2、Oracle 10gの10.2.0.1.0です。

 

2、ORACLEの環境設定

神託を接続します。

C:\ DocumentsとSettings \ Administratorの> SQLPLUS / SYSDBAとして
 
SQL * Plusは: -星期四3月13 15時22分29秒2014年の生産10.2.0.1.0をリリース
 
著作権(C)1982、2005、Oracleの。すべての権利を保有。
 
连接到:
Oracle Database 10gのEnterprise Editionのリリース10.2.0.1.0 -生産
パーティション、OLAPやデータマイニングのオプション付き

ユーザーscottの虎のパスワードを変更し、アカウントのロックを解除するために、サインインしようとすると、ルックアップテーブル:

SQL>虎で識別されるユーザーscottを変更 ; 
 
ユーザーが変更されました。
 
SQL>ユーザーscottアカウントのロック解除を変更; 
 
ユーザーが変更されました。
 
SQL>スコット/虎が接続
接続されています。
SQL> EMPからSELECT COUNT(*)、

 COUNT(*)
---------- 
  14

ビューのlistener.oraは正しいです。

#listener.oraのネットワーク設定ファイル:C:\ oracleに\製品10.2.0 \ DB_1の\ネットワーク\ \管理者\ listener.oraの
Oracle設定ツールによって生成#。
 
SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\オラクル\製品10.2.0 \ DB_1 \)
      (PROGRAM = EXTPROC) 
    (SID_DESC = 
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = C:\オラクル\ 10.2.0 \ DB_1 \生成物)
      (SID_NAME = ORCL) )
     
LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1))
  
      (ADDRESS =(PROTOCOL = TCP)(HOST =ローカルホスト)(PORT = 1521)) )
    

内側には特に注意してください:
(SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = C:オラクル\製品\ 10.2.0 \ DB_1 \)
      (SID_NAME = ORCL)
 )


また、tnsnames.oraファイルが正しいことを参照してください。

#tnsnames.oraのネットワーク設定ファイル:C:\ oracleに\製品10.2.0 \ DB_1の\ネットワーク\ \管理者\ tnsnames.oraの
Oracle設定ツールによって生成#。
 
ORCL = 
  (DESCRIPTION = 
    (ADDRESS =(PROTOCOL = TCP)(HOST =ローカルホスト)(PORT = 1521))
    (CONNECT_DATA = 
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL) )
     
EXTPROC_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    (CONNECT_DATA = 
      (SID = PLSExtProc)
      (PRESENTATION = RO) )
    
 

特别是:
ORCL =
  (DESCRIPTION =
    (ADDRESS =(PROTOCOL = TCP)(HOST =ローカルホスト)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL) )  )
   

SQL> LSNRCTLホストの状態
 
、32ビットWindows用LSNRCTL:バージョン10.2.0.1.0 -生産者のON、13-月-2014 15時23分三十一秒
 
...著作権(C)1991、2005、Oracleのすべての権利予約
 
に接続します( = DESCRIPTION(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1)))
STATUSのLISTENER 
------------------------ 
別名LISTENERの
32のバージョンTNSLSNR Windowsのビット:バージョン10.2.0.1.0 -生産
開始日、13-月-2014 14時20分27秒
稼働時間0日1時間3分6秒
のレベルをオフに追跡するため
のセキュリティを:ローカルOS認証
SNMP OFFの
リスナーパラメータファイルをC:10.2.0 \ \オラクル\製品 \管理者\ listener.oraの\ DB_1の\ネットワーク
リスナーのログファイルC:\ oracleに\製品10.2.0 \ \ DB_1 \ネットワーク\ログ\のlistener.logの
エンドポイントの概要を聞いて... 
  パイプ\ \(IPC DESCRIPTION =(ADDRESS =(PROTOCOL =)(パイプ名= \\。 EXTPROC1ipc)))
  (DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))、
およびサービス...抽象
サービス"PLSExtProc"ルーチンが含まれています。
  ルーチン「PLSExtProc」、状態UNKNOWN、このサービスはハンドラが含まれています... 
サービス「ORCL」ルーチンが含まれています。
  ルーチン「ORCL」、ステータスUNKNOWNには、このサービスのハンドラが含まれています... 
コマンドが正常に完了

 

図3は、リンクサーバーをセットアップします。

tnsnames.oraファイルORCLサービス名:特に注目すべきなのは、データソースORCLが参照していることです。 

最初のステップは、「新しいリンクサーバー」を選択します。

 

 第二段階は、Microsoft OLE DBは、Oracleの提供を選択してください:

 

 第三段階、製品を入力してください:オラクル、データソース:ORCL: 

 

 第四ステップは、oracleユーザー名とパスワードを入力し、この設定は実際の状況に応じて、入力した後、ポイントを同様に決定します。

 

4、試験クエリ

(xxxは、 'EMP SELECT * FROM')OPENQUERYから選択*

リターンの結果:  

 

図5に示すように、コードで実装。

EXEC master.dbo.sp_addlinkedserver 
        @server = N'ORACLE_SCOTT', 
        @srvproduct=N'ORACLE', 
        @provider=N'MSDAORA', 
        @datasrc=N'orcl'
go
        
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin 
        @rmtsrvname=N'ORACLE_SCOTT',
        @useself=N'False',
        @locallogin=NULL,
        @rmtuser=N'scott',
        @rmtpassword='tiger'
GO
 
 
select * from openquery(ORACLE_SCOTT, 'SELECT * FROM scott.emp')

 

6、通过openrowset函数来实现,更简单。

select *   
from openrowset('MSDAORA','orcl';'scott';'tiger','select * from SCOTT.EMP')  

  

  

  



  

  

  

おすすめ

転載: www.cnblogs.com/lgx5/p/11364946.html