2017-06-29 27 views
0
位置

我试图从CSV文件导入Oracle SQL Developer中加载数据无效封闭的字符数据或分隔符,插入数据时,我遇到它说错误:行包含在

行包含无效的封闭性质在

位置

数据或分隔符我不知道如何解决这个问题!

例如:

INSERT INTO PROJECT_LIST (Project_Number, Name, Manager, Projects_M, 
Project_Type, In_progress, at_deck, Start_Date, release_date, For_work, nbr, 
List, Expenses) VALUES ('5770','"Program Cardinal 
(Agile)','','','','','',to_date('', 'YYYY-MM-DD'),'','','','',''); 

的误差示出为:

--insert失败行4

--line包含无效包围字符数据或定界符位置79。

--Row 4

+0

是'TO_DATE( '', 'YYYY-MM-DD')' - 空字符串与日期在Oracle SQL接受? –

+0

@ TSion.D.P - 该表达式在Oracle中有效,它的计算结果为NULL(在DATE数据类型中)。 – mathguy

+0

输入数据是否使用双引号“''来包含值?如果是这样,Program这个单词之前的双引号可能会导致错误,应该以某种方式转义;因为它可能被解释为结尾列值,所以解析器需要一个紧跟在后面的分隔符,而是取得字母P.列值中的双引号似乎错了 - 它在哪里匹配的结尾双引号? – mathguy

回答

0

我的猜测是,它不喜欢to_date('', 'YYYY-MM-DD')。它缺少格式化的日期。这是数据的实际输入吗?

但它也可能可能在"Program Cardinal (Agile)双引号。虽然我不明白为什么会被认为是无效的字符。

+0

我没有添加到开始日期下的to_date部分,就像格式为YYYY-MM-DD – shaziya

+0

这种猜测是不正确的。对于这个调用非常满意,它返回NULL(DATE数据类型) – mathguy

+0

@mathguy很酷的交易,谢谢,我没有意识到to_date()会返回一个空白的日期。在我过去的Oracle工作中遇到这个问题。 :-S – Shawn

0

我固定它用在我的CSV的连击功能文件,然后再上传它的SQL,它的工作。