データベースに問題が発生しました (バージョンは Oracle 11g です)。
私は何をしたかったのですか?
- 手順を使用して、ファイルを ftp サーバーにアップロードしたいと考えています。
どうだった?
最初に、ftp.pksおよびftp.pkbファイルをダウンロードし、@**.pks を使用してこのパッケージをインポートします。
そして、次のような手順をコーディングします。
DECLARE l_conn UTL_TCP.connection; BEGIN l_conn := ftp.login('192.168.1.102', '21', 'tony', 'tony'); ftp.ascii(p_conn => l_conn); ftp.put(p_conn => l_conn, p_from_dir => 'MY_DOCS', p_from_file => 'aaa.txt', p_to_file => 'test_put.txt'); ftp.logout(l_conn); END;
実行すると、コンソールにこのエラー情報が表示されます
ORA-24247: network access rejected by ACL ORA-06512: at "SYS.UTL_TCP", line 17 ORA-06512: at "SYS.UTL_TCP", line 246 ORA-06512: at "SCOTT.FTP", line 76 ORA-06512: at line 4
このため、
ACL
次のコードでルールを作成しました。begin DBMS_NETWORK_ACL_ADMIN.CREATE_ACL( acl => 'ftp_conn.xml', description => 'ftp connection', principal => 'SCOTT', is_grant => TRUE, privilege => 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL( acl => 'ftp_conn.xml', host => '192.168.1.102', lower_port => 21, upper_port => 21); end;
しかし、ftpコードを再度実行すると、そのエラーも表示されるので、これを修正する方法を知りたい.
ACL
は TCP 接続を許可できますが、ftp パッケージを使用して ' ftp.put
' を呼び出すと、コンソール出力は
error at 1 line: ORA-29260: network error:not connected ORA-06512: at "SYS.UTL_TCP", line 212 ORA-06512: at "SYS.UTL_TCP", line 432 ORA-06512: at "SCOTT.FTP", line 413 ORA-24247: Network access rejected by acl ORA-06512: at "SCOTT.FTP", line 491 ORA-06512: at line 6