dblink建立以及出現問題

2021-07-31 07:01:49 字數 1969 閱讀 1544

開發過程中,經常會碰到需要從資料庫a中查詢另乙個資料庫b的某張表的資料,這是時候我們可以使用dblink來連線資料b進行資料查詢等;

如需在a資料庫中增刪改查(當然前提是你的登入使用者有許可權)b庫的表資訊,可以再a資料庫中建立dblink連線到資料庫b,dblink建立語法如下:

create database link dblink_name

connect to username identified by password

using '(description =

(address = (protocol = tcp)(host = 172.16.18.101)(port = 1521))

(connect_data =

(server = dedicated)

(service_name = dzjs)

) )';

其中dblink_name:dblink名稱;

username:連線b資料庫的使用者名稱;

password:連線b資料庫的密碼;

單引號內的為b資料庫中的連線字元床(也就是oracle配置檔案tnsname.ora中的資料庫連線配置);

如需在資料庫a(以下簡稱庫a)中查詢資料庫b(簡稱庫b)中的表yy_zysfb0

查詢語句如下:

select * from yy_zysfb0@dblink_name就是在表明後面加上@dblink_name;

工作中遇到過的問題,通過oracle9!連線oracle12c

不同版本之間的oracle 通過dblink進行查詢等操作時,常見問題

oracle9!通過dblink連線oracle12c碰到的問題:

一、ora-28040: no matching authentication protocol

解決方法:出現這種原因就是因為版本不一致導致的,這個也很好解決

找到庫b的oracle安裝資料夾下sqlnet.ora檔案,新增sqlnet.allowed_logon_version_client=8 sqlnet.allowed_logon_version_server=8

即加上這兩句,後面版本號寫你庫b所在的版本號或比他小都可以。

二、ora-01017 invalid username/password;logon denied

問題分析:看見這個問題,我第一反應是,挖槽!誰***改資料庫密碼都不通知一聲啊,太猥瑣了,然後不死心的再用pl/sql試試,發現竟然能登入。。。,絕壁是我開啟方式不對,重來一遍,尼瑪還是能進。第二反應,肯定是我的dblink建立指令碼寫錯了,查了又查沒發現錯誤,只能使用終極方法,刪掉,重建,結果還是不行,進一步檢查發現使用者名稱轉化為大寫了,因此懷疑密碼也有可能轉化成大寫。

解決方法:

方法一:將登入庫b的使用者名稱密碼全部改為大寫,該方法太粗俗野蠻啦,棄之;

方法二:建立dblink指令碼的時候講密碼用雙引號引起來,如下:

create database link dblink_name

connect to username identified by 「password」

using '(description =

(address = (protocol = tcp)(host = 172.16.18.101)(port = 1521))

(connect_data =

(server = dedicated)

(service_name = dzjs)

) )';

好了,問題已解決,到此結束!!

商務出現問題

今天tm開始找我抱怨,客戶方需要把我的job profile寫入合同 天啊,這個變化就大了,首先是這個job profile的工作就是乙個functional做的事情,而與我乙個abaper沒有多大的關係。但是在那邊我要負責他們從倉庫到財務,生產,質量等等與sap有關的所有的事情,這個包含的內容就非...

pod search 出現問題

問題入校 library ruby gems 2.3.0 gems cocoapods 1.5.3 lib cocoapods user inte ce error report.rb 135 inerror from podfile invalid byte sequence in utf 8 a...

oracle 配置出現問題

裝了好幾遍oracle 或許解除安裝不夠徹底 出現了無法登陸sqlplus 的現象 總出現 ora 12560錯誤 造成ora 12560 tns 協議介面卡錯誤的問題的原因有三個 1.監聽服務沒有起起來。windows平台個一如下操作 開始 程式 管理工具 服務,開啟服務面板,啟動oracleho...