我正在尝试在 toad for oracle version 9.5 中编写一个sql脚本,运行时允许用户从输入参数/变量的c盘中的txt文件中选择数据。 oracle的版本是10g
答案 0 :(得分:1)
听起来Oracle external directory非常适合工作。请记住,如果这是用户可以写入的文本文件,则此方法会遇到困难。用户将做一百件您从未相信可能导致错误的事情more。
来自文章:
创建目录
授予读取权限,将目录data_dir写入your_user;
创建外部表
CREATE TABLE test_ext (
test_code VARCHAR2(5),
test_name VARCHAR2(50)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_tab_data
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
(
test_code CHAR(5),
test_name CHAR(50)
)
)
LOCATION ('test1.txt','test2.txt')
)
PARALLEL 5
REJECT LIMIT UNLIMITED;
然后从表中读取
SELECT *
FROM test_ext
ORDER BY test_name;
编辑:您仍然可以使用不在数据库服务器上的目录来执行此操作,但需要更多工作,这对数据库安全性和数据质量构成了更大的风险。 这种方法也没有扩展。每次添加新用户时,您是否打算添加新目录?
允许Oracle访问位于另一台计算机上的文件的步骤(假设Windows操作系统)