Oracle數(shù)據(jù)庫(kù)連接并訪問(wèn)Microsoft?SQL?Server數(shù)據(jù)庫(kù)操作步驟
說(shuō)明:
1.實(shí)際開發(fā)中,Oracle數(shù)據(jù)庫(kù)與SQLServer數(shù)據(jù)庫(kù)之間可能需要相互進(jìn)行訪問(wèn),方便業(yè)務(wù)數(shù)據(jù)抽取,編寫視圖及表等操作。
2.SQLServer訪問(wèn)Oracle數(shù)據(jù)庫(kù)配置相對(duì)較為簡(jiǎn)單,但是Oracle數(shù)據(jù)庫(kù)訪問(wèn)SQLServer數(shù)據(jù)庫(kù)相對(duì)來(lái)講較為復(fù)雜,需要安裝相關(guān)軟件以及配置相關(guān)文件。本案例使用Oracle官網(wǎng)提供的gateways來(lái)演示操作。
注意:筆者操作系統(tǒng)環(huán)境為RHEL9,數(shù)據(jù)庫(kù)為Oracle19C.案例中連接的SQLServer數(shù)據(jù)部署在Windows系統(tǒng)中。本案例同樣適用于Oralce連接其他類型數(shù)據(jù)庫(kù),并且同操作系統(tǒng)關(guān)系不大,Windows系統(tǒng)中大同小異!
操作步驟:
1.下載gateways
2.上傳gateways并解壓
3.安裝(注意:為了防止安裝亂碼,安裝報(bào)錯(cuò),需要將系統(tǒng)語(yǔ)言臨時(shí)修改,臨時(shí)修改RHEL系統(tǒng)版本為9.0`)
export CV_ASSUME_DISTID=RHEL8.0 export LANG=en_US
注意:上圖中SQLServer數(shù)據(jù)庫(kù)地址是必填的,其他三項(xiàng)可以暫時(shí)不用填寫,之后可以修改相應(yīng)配置文件后生效。
4.查看(配置)initdg4msql.ora文件(因?yàn)椴渴鸬臅r(shí)候已經(jīng)配置過(guò)了,所以initdg4msql.ora文件中不需要重復(fù)配置,如果部署的時(shí)候只填寫了SQLServer服務(wù)器地址,則需要按照以下格式書寫)
# This is a customized agent init file that contains the HS parameters # that are needed for the Database Gateway for Microsoft SQL Server # # HS init parameters # HS_FDS_CONNECT_INFO=[192.168.227.134]:1433//UFDATA_999_2023 # alternate connect format is hostname/serverinstance/databasename HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER
5.配置Oracle中的listener.ora文件(可以按如下格式書寫,也可以將/u01/app/oracle/product/19.3.0/dbhome_1/dg4msql/admin/listener.ora.sample文件中的內(nèi)容復(fù)制到Oracle的listener.ora文件中)
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = orcl) ) (SID_DESC= (SID_NAME=dg4msql) (ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1) (PROGRAM=dg4msql) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Java)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
6.配置Oracle中的tnsnames.ora文件(可以按如下格式書寫,也可以
將/u01/app/oracle/product/19.3.0/dbhome_1/dg4msql/admin/tnsnames.ora.sample文件中的內(nèi)容復(fù)制到Oracle的tnsnames.ora文件中)
注意:該配置文件中必須填寫Oracle服務(wù)器計(jì)算機(jī)名!
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = Java)(PORT = 1521)) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Java)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) dg4msql = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=Java)(PORT=1521)) (CONNECT_DATA=(SID=dg4msql)) (HS=OK) )
7.重啟監(jiān)聽
7.創(chuàng)建數(shù)據(jù)庫(kù)連接
# dg4msql是在Oracle服務(wù)器上配置的ODBC數(shù)據(jù)源名稱。 # sa和password是用于連接到SQL Server的憑據(jù). # gl_accvouch是SQL Server上訪問(wèn)的表的名稱 CREATE DATABASE LINK hrpsv665 CONNECT TO "sa" IDENTIFIED BY "password" USING 'dg4msql'; # 查詢示例 SELECT * FROM gl_accvouch@hrpsv665;
注意:查詢語(yǔ)句中如果想要過(guò)濾字段,無(wú)論是按特定字段查詢還是條件查詢中的字段,必須要加雙引號(hào),否則提示字段無(wú)效!
總結(jié)
到此這篇關(guān)于Oracle數(shù)據(jù)庫(kù)連接并訪問(wèn)Microsoft SQL Server數(shù)據(jù)庫(kù)操作步驟的文章就介紹到這了,更多相關(guān)Oracle連接并訪問(wèn)SQL Server數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于sql腳本導(dǎo)入Oracle時(shí)重復(fù)生成check約束的問(wèn)題解決
這篇文章主要給大家介紹了關(guān)于sql腳本導(dǎo)入Oracle時(shí)重復(fù)生成check約束的問(wèn)題解決方法,文中給出了詳細(xì)的檢查步驟,對(duì)大家理解和解決這個(gè)問(wèn)題具有很好的幫助,需要的朋友們下面來(lái)一起看看吧。2017-05-05ORACLE中如何找到未提交事務(wù)的SQL語(yǔ)句詳解
這篇文章主要給大家介紹了關(guān)于ORACLE中如何找到未提交事務(wù)的SQL語(yǔ)句,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ORACLE具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06rman恢復(fù)方案和oracle異機(jī)恢復(fù)
這篇文章主要介紹了rman恢復(fù)方案和oracle異機(jī)恢復(fù),需要的朋友可以參考下2014-03-03oracle通過(guò)1條語(yǔ)句插入多個(gè)值的方法示例
這篇文章主要給大家介紹了關(guān)于oracle通過(guò)1條語(yǔ)句插入多個(gè)值的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用oracle具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Oracle數(shù)據(jù)操作和控制語(yǔ)言詳解
Oracle數(shù)據(jù)操作和控制語(yǔ)言詳解...2007-03-03