Sql server SQL SSIS对内容中引号的处理—2008年R2与2014年的差异?

Sql server SQL SSIS对内容中引号的处理—2008年R2与2014年的差异?,sql-server,csv,ssis,Sql Server,Csv,Ssis,亲爱的 关于SSIS导入CSV文件,我有一些令人困惑的行为。我的结论很奇怪,但似乎是唯一的解释 SQLServer2008R2上的SSI工作正常。 SQL Server 2014上的SSIS失败:“未找到列标识符” 原来CSV文件是有问题的,SSIS 2008从未发现这一点 根据标准惯例,字段内的引号不会“加倍” 当前:“标题”、“里程碑”完成工作“ 应为:“标题”、“里程碑”、“完成工作” 经过大量调查,似乎不同之处在于SSIS 2014 如果我执行包(在完全相同的旧2008服务器上执行完全相

亲爱的

关于SSIS导入CSV文件,我有一些令人困惑的行为。我的结论很奇怪,但似乎是唯一的解释

SQLServer2008R2上的SSI工作正常。 SQL Server 2014上的SSIS失败:“未找到列标识符”

原来CSV文件是有问题的,SSIS 2008从未发现这一点

根据标准惯例,字段内的引号不会“加倍”

当前:“标题”、“里程碑”完成工作“ 应为:“标题”、“里程碑”、“完成工作”

经过大量调查,似乎不同之处在于SSIS 2014

如果我执行包(在完全相同的旧2008服务器上执行完全相同的包),但使用SSIS 2014,我会收到错误

结论:SSIS 2014以不同的方式读取CSV文件,并且(正确地)抛出一个错误,而SSIS 2008由于某种原因没有抛出该错误

SSIS 2014是否还有其他解决此问题的选项或方法?或者我必须等到他们纠正原始的CSV文件编码吗


我希望这是清楚的,非常感谢您的意见。

我在2012年也遇到过同样的问题。2008年导入文件时不会出错,但数据会在少数不正确的记录中损坏。这就变成了抛出一个错误,并阻止了我们的进程完成

如果搜索时间足够长,您可能会找到更好的解决方法,但以下是我当时的选择: 1.将整行读入staging表,并使用自定义代码解析CSV。 2.使用第三方工具


我们选择了#2,特别是我在2012年也经历过同样的问题。2008年导入文件时不会出错,但数据会在少数不正确的记录中损坏。这就变成了抛出一个错误,并阻止了我们的进程完成

如果搜索时间足够长,您可能会找到更好的解决方法,但以下是我当时的选择: 1.将整行读入staging表,并使用自定义代码解析CSV。 2.使用第三方工具


我们选择#2,特别是ssis 2012引入了对“嵌入式文本限定符”的适当支持。我不确定是否有办法关闭它并获得对旧行为的支持。ssis 2012引入了对“嵌入式文本限定符”的适当支持。我不确定是否有办法关闭它,并为旧的行为获得支持。非常感谢乔的反馈,并确认了我的发现。我将使用选项3:等待提供商修复它。他们已经确认了这个错误,并且它将被纠正,所以现在我没有必要再写更多的代码了。干杯非常感谢乔的反馈,并确认了我的发现。我将使用选项3:等待提供商修复它。他们已经确认了这个错误,并且它将被纠正,所以现在我没有必要再写更多的代码了。干杯