高手指点!!在8i怎么用pl/sql读写文件?先谢了~~~

Eric_1999 2006-09-13 04:59:52
想把一个excel文件读到oracle中,请问有什么办法?
...全文
383 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shyming 2006-10-05
  • 打赏
  • 举报
回复
VBscript.......
晨之清风 2006-10-03
  • 打赏
  • 举报
回复
utl_file_dir参数用命令
SQL> ALTER SYSTEM SET UTL_FILE_DIR='d:\testtmp' scope=spfile;
不行,要把动态参数文件转换为静态参数文件,用文本编辑器编辑后再转为动态参数文件。
Oracle中有些参数是不能用ALTER SYSTEM SET命令修改的。
LVOLCANO 2006-09-29
  • 打赏
  • 举报
回复
mark
sandygood 2006-09-23
  • 打赏
  • 举报
回复
用Oracle操作Excel??为何有如此需求,就像用Office编写企业应用程序,Office虽然强大,但是术业有专攻!
兄弟!用POI吧!
Eric_1999 2006-09-22
  • 打赏
  • 举报
回复
希望用pl/sql读写文件,能实现吗?
swimming8243 2006-09-21
  • 打赏
  • 举报
回复
google一下sqlldr
swimming8243 2006-09-21
  • 打赏
  • 举报
回复
lz拿分来
henghowzc 2006-09-21
  • 打赏
  • 举报
回复
用java程序,poi
Eric_1999 2006-09-19
  • 打赏
  • 举报
回复
设置了,但现在再设怎么不行啊?
SQL> ALTER SYSTEM SET UTL_FILE_DIR='d:\testtmp' scope=spfile;
ALTER SYSTEM SET UTL_FILE_DIR='d:\testtmp' scope=spfile
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
nowait 2006-09-18
  • 打赏
  • 举报
回复
是否设置了utl_file_dir参数?‘d:\tmp'目录是否存在,该用户是否有读写权限?
Eric_1999 2006-09-14
  • 打赏
  • 举报
回复
CREATE OR REPLACE PROCEDURE preadfiletest (
fpath IN STRING,
fname IN STRING,
max_num IN NUMBER
)
IS
file_handle UTL_FILE.file_type;
text_buffer STRING (1000);
line_num NUMBER;
BEGIN
DBMS_OUTPUT.put_line ('INPUT PATH=' || fpath);
DBMS_OUTPUT.put_line ('INPUT FILENAME=' || fname);
line_num := 0;

BEGIN
file_handle := UTL_FILE.fopen (fpath, fname, 'R', max_num);

LOOP
line_num := line_num + 1;
UTL_FILE.get_line (file_handle, text_buffer);
DBMS_OUTPUT.put_line ('LINE' || line_num || ' : ' || text_buffer);
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN;
WHEN UTL_FILE.invalid_path
THEN
DBMS_OUTPUT.put_line ('INVALID PATH');
WHEN UTL_FILE.invalid_mode
THEN
DBMS_OUTPUT.put_line ('INVALID MODE');
WHEN UTL_FILE.invalid_filehandle
THEN
DBMS_OUTPUT.put_line ('INVALID FILEHANDLE');
WHEN UTL_FILE.invalid_operation
THEN
DBMS_OUTPUT.put_line ('INVALID OPERATION');
WHEN UTL_FILE.read_error
THEN
DBMS_OUTPUT.put_line ('READ ERROR');
WHEN UTL_FILE.write_error
THEN
DBMS_OUTPUT.put_line ('WRITE ERROR');
WHEN UTL_FILE.internal_error
THEN
DBMS_OUTPUT.put_line ('INTERNAL ERROR');
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('OTHER ERROR=' || SQLERRM);
END preadfiletest;

然后
exec preadfiletest('d:\tmp', 'test.txt', 100);

总是提示:'INVALID PATH '

怎么解决,有没什么其他的方法读写文件??
Eric_1999 2006-09-13
  • 打赏
  • 举报
回复
这个我明白,如果是文本文件呢?如:txt。怎么读进去?
sun5 2006-09-13
  • 打赏
  • 举报
回复
pl/sql语言直接读写EXCEL文件是应该不支持的,PL/SQL只能直接读写BIN类型文件。除非你了解EXCEL文件的格式,帮你顶,希望能有高手解答。

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧