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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server中查询ORACLE的数据

發(fā)布時間:2023/12/14 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server中查询ORACLE的数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

通過鏈接服務(wù)器,SQL Server 數(shù)據(jù)庫引擎 和 Azure SQL 數(shù)據(jù)庫托管實(shí)例可從遠(yuǎn)程數(shù)據(jù)源中讀取數(shù)據(jù),并針對 SQL Server 實(shí)例之外的 OLE DB 數(shù)據(jù)源等遠(yuǎn)程數(shù)據(jù)庫服務(wù)器執(zhí)行命令。

在本場 Chat 中,會講到如下內(nèi)容:

  • 通過在 MS SQL Server 設(shè)置鏈接服務(wù)器而訪問 Oracle 數(shù)據(jù)庫數(shù)據(jù)的簡單例程

適合人群:

  • 需要從其他類型數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入 SQL Server 的技術(shù)人
  • 需要通過 SQL Server 操作其他數(shù)據(jù)庫的技術(shù)人

說明

從 SQL Server 中查詢 ORACLE 中的數(shù)據(jù),可以在 SQL Server 中創(chuàng)建到 ORACLE 的鏈接服務(wù)器來實(shí)現(xiàn)的,但是根據(jù) 32 位 、64 位的機(jī)器和軟件,需要用不同的驅(qū)動程序來實(shí)現(xiàn)。

本例程在 64 位的機(jī)器上,通過訪問接口:OracleProvide for OLE DB,來實(shí)現(xiàn)。

1、測試環(huán)境

Microsoft Windows [版本 10.0.17134.556]Microsoft SQL Server 2016 (SP2-GDR) (KB4293802) - 13.0.5081.1 (X64) (Build 17763: )Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

2、ORACLE 環(huán)境的設(shè)置

Sqlserver 服務(wù)器安裝 Oracle 客戶端,此過程省略在 Oracle 上創(chuàng)建數(shù)據(jù)庫用戶并創(chuàng)建數(shù)據(jù)表

C:\Users\schina>sqlplus / as sysdbaSQL*Plus: Release 12.1.0.2.0 Production on 星期二 1 月 22 14:40:41 2019Copyright (c) 1982, 2014, Oracle. All rights reserved.Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP, Advanced Analytics and Real Application Testing optionsSQL> drop user schina cascade;SQL> create user schina identified by schina;SQL> grant dba to schina;SQL> conn schina/schinaSQL> create table testt(a int,b varchar2(100));SQL> insert into testt values(123,'abc');SQL> commit;SQL>

配置 listener.ora

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 123-111)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

配置 tnsname.ora

ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 123-111)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )

配置 Oracle 網(wǎng)絡(luò)安全,,不配置此項(xiàng)可能報(bào)“ORA-12638: 身份證明檢索失敗” 錯誤

方法一 設(shè)置鏈接服務(wù)器

新建鏈接服務(wù)器選擇“新建鏈接服務(wù)器”“常規(guī)”屬性頁填寫鏈接服務(wù)器:鏈接別名,可隨意提供程序:Oracle Provider for OLE DB產(chǎn)品名稱:隨意數(shù)據(jù)源:為 tnsname.ora 內(nèi)配置的名稱范圍接口字符串:保留空即可在“安全性”屬性頁,選擇使用次安全上下文建立連接遠(yuǎn)程登陸:oracle 用戶名使用密碼:oracle 用戶密碼可能錯誤解決方法在“訪問接口”處,修改一下接口權(quán)限測試查詢

select * from openquery(ora, 'SELECT * FROM testt')

方法二 openrowset

也可以使用

select * from openrowset('OraOLEDB.Oracle', --接口 'orcl'; --tnsname 配置名 'schina'; --用戶名 'schina', --密碼 'select * from testt') --語句

其他設(shè)置

由于安全配置可能會報(bào)如下錯誤SQL Server 阻止了對組件“Ad Hoc Distributed Queries”的 STATEMENT“OpenRowset/OpenDatasource”的訪問,因?yàn)榇私M件已作為此服務(wù)器安全配置的一部分而被關(guān)閉。系統(tǒng)管理員可以通過使用 sp_configure 啟用“Ad Hoc Distributed Queries”。有關(guān)啟用“Ad Hoc Distributed Queries”的詳細(xì)信息,請搜索 SQL Server 聯(lián)機(jī)叢書中的“Ad Hoc Distributed Queries”。啟用 Ad Hoc Distributed Queries 的方法,執(zhí)行下面的查詢語句就可以了:

exec sp_configure 'show advanced options',1 reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure

閱讀全文: http://gitbook.cn/gitchat/activity/5df0963dea5c803f1fc56b3d

您還可以下載 CSDN 旗下精品原創(chuàng)內(nèi)容社區(qū) GitChat App , GitChat 專享技術(shù)內(nèi)容哦。

總結(jié)

以上是生活随笔為你收集整理的SQL Server中查询ORACLE的数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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