实现功能:
oracle服务器上有一个txt文本,然后再用ftp上传到一台远程机器(192.168.11.11)上。
在先问一下这样可不可以实现这种功能?PROCEDURE ftpfile
IS l_conn UTL_TCP.connection;BEGIN l_conn := ftp.login('192.168.11.11', '21', '1', '1');
ftp.ascii( l_conn);ftp.put(p_conn => l_conn,
p_from_dir => '/tmp/',--服务器上的目录,操作系统是linux
p_from_file => 'emp.txt',--服务器上的文件名
p_to_file => 'emp.txt');--想要在11.11这台机器上生成的文件
ftp.logout(l_conn);
utl_tcp.close_all_connections;END;这段代码执行时一直报"non-existent directory or file for fileopen operation"但是我服务器上有这个目录和文件啊。。是代码不对还是目录有问题呢???
解决方案 »
- 安装了oracle10g home版,用Database Control登录提示您的用户名和/或口令无效
- em问题
- 用 m_pConnection->Execute() 执行 sql 在 oracle 创建表 runtime wrong ,why?
- 求教一条sql 写法,在线等结贴 立刻给分
- 请问此约束能否实现
- 关于cursor的关闭问题,等待高人的出现!解决就给分
- oracle,如何查看视图结构,获得视图中的字段名称、字段类型、字段长度等。
- 如何设实现Exclusive登陆
- 如何要知道某张表中的字段数量,最好还有字段名称?
- 导入导出的小问题
- oracle过程被锁如何解决?急死人了数据库又不能随便的重启,就不知道怎么办了?
- 索引。。。
2、设置utl_file_dir参数指向/tmp/
用户是有/tmp/权限的,/tmp/emp.txt这个文件也是由这由存储过程生成的的.
这台机器的ftp服务也是开了的,我把ftp这个方法注释掉,就不会报错了.
要用语句先插一个路径名:create or replace directory emp_dir as '/tmp';可以用这个语句来查询是否创建成功: select * from all_directories;代码如下PROCEDURE ftpfile
IS l_conn UTL_TCP.connection;BEGIN l_conn := ftp.login('192.168.11.11', '21', '1', '1');
ftp.ascii( l_conn);ftp.put(p_conn => l_conn,
p_from_dir => 'EMP_DIR',--这里的路径名注意要用大写
p_from_file => 'emp.txt',--服务器上的文件名
p_to_file => 'emp.txt');--想要在11.11这台机器上生成的文件
ftp.logout(l_conn);
utl_tcp.close_all_connections;END;