sql-loader

    0热度

    1回答

    我在其中一个CSV文件中有1617列。 Oracle每个表有1000列的限制,所以我创建了2个表。 表1:900列 表2:717列 我只有1个CSV文件,它是7 GB的大文件。我需要使用sql加载器来加载我的数据库上的这个文件。 我希望有一个控制文件,它可以做到以上对我来说即先用900列和装载到表1和接下来的717列到表2

    0热度

    1回答

    我很难将表达式加载到两个单独的列中。 我们有两个值 - RECORD_ID和ITEM_NUMBER,它们每行都需要唯一的值。 我的第一印象是以某种方式将序列的值加载到限制填充器或类似的东西中,然后在记录ID和数字中使用它,但我很难理解如何去做这件事。 下面是我当前控制文件的片段我使用: ... FIELDS TERMINATED BY '|' TRAILING NULLCOLS ( FIE

    0热度

    1回答

    我看到SQL加载程序表现得很怪异。 我已经在我的终端(Linux)的执行命令 sqlldr username/[email protected] control=xxx.ctl 上面的命令因此未产生任何错误: Total logical records skipped: 0 Total logical records read: 4 Total logical records r

    0热度

    1回答

    我们可以使用sql控制文件执行任何SQL语句吗? 的伪像 LOAD DATA INFILE * DELETE *from STUDENT WHERE STATUS="PASS_OUT"** APPEND INTO TABLE STUDENT WHEN (1:1)= '1' FIELDS TERMINATED BY '|'

    0热度

    3回答

    有人可以帮助我。 我需要将数据从.dat文件加载到表中。 .DAT文件有Col1中,col2的,COL3 表有Col1, Col4 我要的是 Table.Col4 = DAT File Col2*Col3 如何通过SQLLDR和CTL文件实现这一目标。 注意DAT文件中的列可以是可变长度的。 eg DAT File: 110000002 , 1 , 7500

    0热度

    1回答

    我有一个ctl文件使用sqlldr,但表达式的长度大于258,并且是我可以在查询中获得的最小长度,这对我来说是不可能的。少字符。 我CTL是: OPTIONS (PARALLEL=TRUE, SILENT=(HEADER,FEEDBACK), ERRORS=1000000) LOAD DATA INFILE 'file.csv' --BADFILE 'file.bad' APPEND IN

    -1热度

    2回答

    我正在创建脚本以从一个数据库提取数据并使用sql加载器将行插入另一个数据库。我开发了所有的脚本并编译在.ksh文件中,并且需要运行该文件,但是在需要设置使用tnsnames.ora文件的环境之前。此前,我一直在给手动setenv命令来设置环境,但我试图在.ksh文件 set TNS_ADMIN = /abc/tnsnames.ora; export TNS_ADMIN 使用命令来设置,但环境是

    1热度

    1回答

    输入文件在同一行内最多有34种不同的记录类型。 该文件是管道分隔,并且每个记录类型是由分离的“〜”(除始发记录类型。 并非所有34种记录类型被包含在每一行上,并且我并不需要所有 所有记录类型都将按照指定的顺序发送,但并非所有的记录类型都会被发送。第一种记录类型是强制性的,并且总是被发送。在34种类型中,只有7种 每种记录类型都有预定义数量的字段,并且永远不会偏离该定义在客户和我们的负载之间没有适当

    0热度

    1回答

    我有1000个加载文件,我知道我们可以将多个文件加载到一个表像这样的不同数值的一个表: LOAD DATA INFILE file1.txt INFILE file2.txt APPEND INTO TABLE emp (empno POSITION(1:4) INTEGER EXTERNAL, ename POSITION(6:15)

    1热度

    1回答

    考虑下面的场景: 表T1 (f1, f2, f3); 数据文件: a|b|c|d w|x|y|z 我希望加载这个数据跳过第二场如下: f1 f2 f3 --- --- --- a d c w z y 会真的感谢您的帮助或任何指标构建控制文件来实现这一点。