我有一个SQL*Loader控件文件,其行如下:
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '#'
Run Code Online (Sandbox Code Playgroud)
通常情况下,我会使用引号,但如果在多行字符串中使用,这似乎会破坏emacs的python语法突出显示.问题是我们正在加载一个ADDRESS_LINE_2列,其中只有7,000个记录正在加载,因为它们有这样的行:
......(其他专栏),Apt#2,(其他专栏)......
这当然会导致错误.有没有办法逃脱封闭的角色,所以这不会发生?或者我只需要选择一个更好的封闭角色?
我查看了文档,但似乎没有找到答案.
我有一个没有固定结构的平面文件
name,phone_num,Address
bob,8888,2nd main,5th floor,avenue road
Run Code Online (Sandbox Code Playgroud)
这里最后一列Address有值,2nd main,5th floor,avenue road但由于相同的分隔符,用于分隔列,我也没有得到任何线索如何处理相同.
平面文件的结构可能会因文件而异.如何在导入时使用这种平面文件Informatica or SQL * Loader or UTL Files
我将无法访问平面文件只是我应该从它读取数据,但我不能编辑平面文件中的数据.
oracle informatica utl-file informatica-powercenter sql-loader
我使用sqlldr导入CSV文件,我有日期多种格式的问题.
CSV文件中的日期为DD/MM/YYYY,如果没有日期则为单点
DATE_COLUMN;OTHER_COLUMN
01/01/2013;other column content 1
.;other column content 2
Run Code Online (Sandbox Code Playgroud)
LOAD DATA
INFILE '/path/to/my/file.csv'
REPLACE INTO TABLE table_to_fill
FIELDS TERMINATED BY ';'
(
COLUMNDATE "decode(:COLUMNDATE ,NULL,'.', to_date(:COLUMNDATE ,'DD/MM/YYYY'))",
OTHER_COLUMN
)
Run Code Online (Sandbox Code Playgroud)
我使用时导入正在工作:
decode(:COLUMNDATE ,NULL,'.'))
Run Code Online (Sandbox Code Playgroud)
要么
to_date(:COLUMNDATE ,'DD/MM/YYYY')
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将两者结合起来时......
这是错误日志:
Record 1: Rejected - Error on table table_to_fill, column COLUMNDATE.
ORA-01858: a non-numeric character was found where a numeric was expected
Run Code Online (Sandbox Code Playgroud)
请问我该如何结合这些?
我认为"解码"函数的最后一个参数是列的默认值,我错了吗?
我创建了一个.ctl文件来在oracle 11g中插入一些数据.在输入文件中有一个名为LAST_DATE的列,格式为(MM/DD/YYYY),oracle中的日期数据类型相同.但是当我尝试插入数据时,其格式会自动从(MM/DD/YYYY)或(04/25/2016)更改为(DD/MM/YYYY)或(25-04-2016).我怎么解决这个问题.我还在我的ctl文件TRAILING NULLCOLS(LAST_DATE DATE"MM/DD/YYYY")中定义了它的格式.
嗨,我正在使用SQL * Loader,但它给我一个错误
SQL * Loader-128:无法开始会话
ORA-28040:没有匹配的身份验证协议。
oracle ×5
sql-loader ×5
controlfile ×1
date ×1
informatica ×1
oracle10g ×1
oracle12c ×1
plsql ×1
sql ×1
utl-file ×1