PL/SQL 怎么读写文件?
PL/SQL 怎么读写文件?
文件是txt的 文件里面每行数据以tab分割
我用utl_file去操作 为什么报path的错误
是不是要设置什么权限?
------解决方案--------------------在命令窗口(Commond Window)下输入start ,然后回车,系统会弹出一个窗口,你选择你的文件所在路径就可以了
SQL> start
------解决方案--------------------path应该是你写在参数里的路径找不到文件,注意检查一下。
基本写法:
declare
vFileHandle UTL_FILE.FILE_TYPE :=NULL;
...
begin
....
vFileHandle :=UTL_FILE.fopen(file_path,file_Name, 'r ');
...
------解决方案--------------------SQL> start C:\sql.txt
------解决方案--------------------用PB,里面有个 IMPORT,直接浏览文件,然后commit就可以了!
------解决方案--------------------在Oracle操作文件必须事先设定Path
语法:create directory 路径别名 as 'path_name '
路径别名是在oracle中使用的别名,path_name是实际的物理路径。
实现你需要有create any directory的权限。
------解决方案--------------------create or replace directory "路径别名 " as '路径 ';
grant read(write) on directory "路径别名 " to public;
过程中,直接引用路径别名就行了。
------解决方案--------------------调用的时候pReadFileTest( 'TMP '....)
这个tmp需要大写,即使你是用小写创建的。
估计LZ错在这里了。
------解决方案--------------------在 init.ora 文件中增加:
utl_file_dir= "D:\test "
或
utl_file_dir= "D:\* "
------解决方案--------------------还应该注意用户对该目录的可读写权限