Encoding 使用utl_文件包通过oracle存储过程以file.txt格式发送数据

Encoding 使用utl_文件包通过oracle存储过程以file.txt格式发送数据,encoding,database,packages,oracle,Encoding,Database,Packages,Oracle,我想通过使用utl_文件包的oracle存储过程将file.txt中的数据发送到数据库中的表中 txt文件包含: QRIFR6M Index,BID,0.7875, aaa QRIFR9M Index,BID,0.8625, bbb QRIFR1Y Index,BID,0.975, ccc QRIFROVN Index,ASK,0.74375, ddd QRIFR1W Index,ASK,0.78125, hhh QRIFR1M Index,ASK,0.90625, hhh 我写这段代码是为了

我想通过使用utl_文件包的oracle存储过程将file.txt中的数据发送到数据库中的表中

txt文件包含:

QRIFR6M Index,BID,0.7875, aaa
QRIFR9M Index,BID,0.8625, bbb
QRIFR1Y Index,BID,0.975, ccc
QRIFROVN Index,ASK,0.74375, ddd
QRIFR1W Index,ASK,0.78125, hhh
QRIFR1M Index,ASK,0.90625, hhh
我写这段代码是为了打开和关闭文件,但是现在如何读取数据呢?在哪里编写读取和发送数据的代码?我必须使用数组还是有更好的解决方案

CREATE DIRECTORY sampledata AS 'c:sampledata';
declare
f utl_file.file_type;
s varchar2(200);
begin
f := utl_file.fopen('SAMPLEDATA','test.txt','R');
utl_file.get_line(f,s);
utl_file.fclose(f);
dbms_output.put_line(s);
end;

感谢并问候

我建议改用SQL*Loader。看到这个了吗<代码> ULL.Fr.GETYLYONE 是好的,但是您将不得不拆分输入以获得表插入的值。

< P>如果您想停留在“Oracle环境”(仅SQL和PLSQL -没有批处理文件),那么您可以考虑使用“外部表”。这样,您可以像读取表格一样读取文件。