ora-03115:不支持的网络数据类型 oracle,Oracle10g新增DBMS_FILE_TRANSFER包(二)
前面介紹了COPY_FILE,這里介紹這個包的另外兩個過程,GET_FILE和PUT_FILE。這兩個過程的功能和FTP的get和put命令是否類似,就是利用數(shù)據(jù)庫的功能將文件在兩個數(shù)據(jù)庫服務(wù)器之間進行拷貝。和COPY_FILE過程唯一不同之處在于,GET_FILE和PUT_FILE過程多了一個參數(shù),這個參數(shù)用來指定數(shù)據(jù)庫鏈信息。
[oracle@yanttest?~]$?export?ORACLE_SID=testzj
[oracle@yanttest?~]$?sqlplus?“/?as?sysdba”
SQL*Plus:?Release?10.2.0.3.0?–?Production?on?星期四?5月?7?15:31:47?2009
Copyright?(c)?1982,?2006,?Oracle.?All?Rights?Reserved.
連接到:
Oracle?Database?10g?Enterprise?Edition?Release?10.2.0.3.0?–?64bit?Production
With?the?Partitioning,?OLAP?and?Data?Mining?options
SQL>?select?directory_path
2?from?dba_directories
3?where?directory_name?=?‘D_OUTPUT’;
未選定行
SQL>?create?directory?d_output?as?‘/home/oracle’;
目錄已創(chuàng)建。
SQL>?grant?read,?write?on?directory?d_output?to?test;
授權(quán)成功。
在遠端數(shù)據(jù)庫做好DIRECTORY的準(zhǔn)備工作。
bash-2.03$?sqlplus?“/?as?sysdba”
SQL*Plus:?Release?10.2.0.3.0?–?Production?on?星期六?3月?7?19:15:24?2009
Copyright?(c)?1982,?2006,?Oracle.?All?Rights?Reserved.
連接到:
Oracle?Database?10g?Enterprise?Edition?Release?10.2.0.3.0?–?64bit?Production
With?the?Partitioning,?Real?Application?Clusters,?OLAP?and?Data?Mining?options
SQL>?grant?execute?on?dbms_file_transfer?to?test;
授權(quán)成功。
SQL>?grant?read,?write?on?directory?d_output?to?test;
授權(quán)成功。
SQL>?conn?test/test已連接。
SQL>?create?database?link?testzj
2?connect?to?test
3?identified?by?test
4?using?‘172.25.13.231/testzj’;
數(shù)據(jù)庫鏈接已創(chuàng)建。
SQL>?begin
2?sys.dbms_file_transfer.put_file(
3?‘D_OUTPUT’,
4?‘spfiletestrac.ora’,
5?‘D_OUTPUT’,
6?‘spfiletestzj.ora’,
7?‘TESTZJ’);
8?end;
9?/
PL/SQL?過程已成功完成。
已經(jīng)將本地/export/home/oracle目錄下的spfiletestrac.ora文件拷貝到遠端站點,下面在利用GET_FILE,從遠端讀取文件:
SQL>?begin
2?sys.dbms_file_transfer.get_file(
3?‘D_OUTPUT’,
4?‘spfiletestzj.ora’,
5?‘TESTZJ’,
6?‘D_OUTPUT’,
7?‘spfiletestrac.bak’);
8?end;
9?/
PL/SQL?過程已成功完成。
需要注意,這個過程的執(zhí)行要求本地數(shù)據(jù)庫和遠端數(shù)據(jù)庫的版本都是10g以上,否則會出現(xiàn)錯誤:
SQL>?create?database?link?testdata94.emedchina.com
2?connect?to?test
3?identified?by?test
4?using?‘172.25.88.94/testdata’;
數(shù)據(jù)庫鏈接已創(chuàng)建。
SQL>?select?*?from?v$version@testdata94.emedchina.com;
BANNER
—————————————————————-
Oracle9i?Enterprise?Edition?Release?9.2.0.4.0?–?Production?PL/SQL?Release?9.2.0.4.0?–?Production
CORE?9.2.0.3.0?Production
TNS?for?Linux:?Version?9.2.0.4.0?–?Production
NLSRTL?Version?9.2.0.4.0?–?Production
SQL>?col?directory_path?format?a50
SQL>?set?pages?100?lines?120
SQL>?select?directory_name,?directory_path?from?all_directories@testdata94.emedchina.com;
DIRECTORY_NAME?DIRECTORY_PATH
——————————?————————————————–
DIR_TEST?/home/oracle/test
D_TEST?/data/oradata/testdata
SQL>?exec?sys.dbms_file_transfer.put_file(‘D_OUTPUT’,?‘spfiletestzj.ora’,?‘D_TEST’,?‘spfiletestzj.ora’,?‘TESTDATA94.EMEDCHINA.COM’)
BEGIN?sys.dbms_file_transfer.put_file(‘D_OUTPUT’,?‘spfiletestzj.ora’,?‘D_TEST’,?‘spfiletestzj.ora’,?‘TESTDATA94.EMEDCHINA.COM’);?END;
*第?1?行出現(xiàn)錯誤:
ORA-03115:?不支持的網(wǎng)絡(luò)數(shù)據(jù)類型或表示法
ORA-02063:?緊接著?line?(起自?TESTDATA94.EMEDCHINA.COM)
ORA-06512:?在?“SYS.DBMS_FILE_TRANSFER”,?line?60
ORA-06512:?在?“SYS.DBMS_FILE_TRANSFER”,?line?168
ORA-06512:?在?line?1
我們一直都在努力堅持原創(chuàng).......請不要一聲不吭,就悄悄拿走。
我原創(chuàng),你原創(chuàng),我們的內(nèi)容世界才會更加精彩!
【所有原創(chuàng)內(nèi)容版權(quán)均屬TechTarget,歡迎大家轉(zhuǎn)發(fā)分享。但未經(jīng)授權(quán),嚴(yán)禁任何媒體(平面媒體、網(wǎng)絡(luò)媒體、自媒體等)以及微信公眾號復(fù)制、轉(zhuǎn)載、摘編或以其他方式進行使用。】
微信公眾號
TechTarget
官方微博
TechTarget中國
總結(jié)
以上是生活随笔為你收集整理的ora-03115:不支持的网络数据类型 oracle,Oracle10g新增DBMS_FILE_TRANSFER包(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle里default什么意思,O
- 下一篇: oracle jpa字段加注释,JPA注