微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Oracle中导入CSV数据(尝试Apex / SQL Developer)

我最初在超级用户上问这个问题,但有人建议我转发这里.

我使用的是最新版本的APEX(4.1.1)和Oracle(11.2.0.3).

我正在将CSV数据上传到一组表格.
我一直在尝试,并遇到了一些我以前没见过的问题.

举个例子,我试图将数据导入到这个表中:

CREATE TABLE SW_ENGINEER 
   (ENGINEER_NO VARCHAR2(10),ENGINEER_NAME VARCHAR2(50),CONSTRAINT SW_ENG_PK PRIMARY KEY (ENGINEER_NO))

在这个简化的数据子集上失败:

call log no,contract_no,call date,agreed date,agreed time,actual arrive,engineer no,engineer name,equipment code,cust desc,eng desc
a,b,c,22-Mar-06,1,23/03/2006 15:00,654,Flynn Hobbs,d,e,f
a,2,19-Mar-06,3,19/03/2006 09:15,351,Rory Juarez,f

(它在更大的数据集上以相同的方式失败)
我无法使用APEX或sql Developer加载它,如下所示:

> APEX:使用APEX Data Workshop,导入文本,加载现有表格,使用逗号分隔,选择表格和文件,勾选“标题行”复选框,我们有列映射表格显示正确的数据.然后将除engineer_no和engineer_name之外的所有列设置为“否”,并单击“加载数据”.

这似乎工作,并在文本数据加载存储库中显示摘要行,但在检查时它已加载0行,79失败.单击79显示它们都遭受“ORA-01008:并非所有变量绑定”.所选列对我来说看起来不错,所以我想知道它是否仍包括其他一些,尽管有’否’设置?

如果我在上传之前编辑csv以删除不相关的列,则不会出现此问题,但如果我可以使用列映射则会更容易.

> sql Developer:使用SD中的导入数据向导,我发现它不会进入列映射,除非选中了Header Row(按钮已启用但不起作用 – 为什么不?),但如果选中它(在这种情况下正确)然后验证步骤失败,因为“表Column Engineer_no不够大……”.

我发现可以通过从csv文件列中删除标头值来克服这个问题.所以看起来设置Header Row复选框实际上并不会导致它忽略标题行,而是导致错误标题值’engineer-no’.这对我来说似乎不对.
我过去使用过这两种方法都没有问题,我想知道最近的升级是否与此有关.

有任何想法吗 ?还是我错过了一些明显的东西?

我的一位同事发现了这个(并不完全令人满意)的解决方案:

如果您需要的列都在开头,它的工作原理如下:

engineer no,eng desc,call log no,actual arrive
654,f,a,23/03/2006 15:00
654,23/03/2006 15:00
351,19/03/2006 09:15

所以在APEX文本导入中看起来像YES / NO包含功能错误

原文地址:https://www.jb51.cc/oracle/205173.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐