使用Load when子句时出现问题?

时间:2011-05-12 11:06:32

标签: sql database plsql oracle10g sql-loader

我需要在CSV文件中拒绝来自外部表的行(每行的第一列)和一些特殊字符(例如~ \等)。

为此,我在LOAD WHEN子句中使用了ACCESS PARAMETERS子句。我一直在Access参数子句中使用以下语句:

load when (1:1) != '~'

但它会抛出一个错误,指出“INVALID CHARACTER”

如果我尝试使用以下声明,

load when (empname != '~empname')

它抛出:

ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-06512: at "SYSTEM.EMP_PROCEDURE", line 101
ORA-06512: at line 1

程序中的第101行是select * from emp;

如何使用LOAD WHEN子句 - 任何示例?

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用波浪号的ASCII值?

load when (1:1) != CHR(126)

答案 1 :(得分:0)

你可以用这个:

LOAD WHEN (1:1) != 0x'7e'

参考:http://download.oracle.com/docs/cd/E11882_01/server.112/e16536/et_params.htm#i1009513