top*_*wik 9 sql-server ssis sql-server-2005
我有一个CSV我试图通过代码使用SSIS包导入SQL.一条线可能看起来像这样
321,1234,"SOME MACHINE, MACHINE ACCESSORIES 1 1/2"" - 4"""
Run Code Online (Sandbox Code Playgroud)
在这个例子中,他们使用双引号来表示英寸.他们试图用双引号逃脱英寸双引号.然而,SSIS并不尊重这种逃避现实并失败.
无论如何我仍然可以使用英寸的双引号符号并在引用的文本中转义它?
许多建议是用两个单引号替换双引号.这是唯一的解决方法还是我可以使用其他一些逃脱技术?
我见过人们谈论使用Derived Column转换,但在我的情况下,SSIS在Flat File Source步骤失败,因此我无法进入派生列转换步骤.
我目前正在控制流中运行一个脚本任务,就在数据流之前,用一些正则表达式来操纵Csv来清理数据.
由于描述列中可能有逗号,我需要使用2个外部双引号对字符串进行文本限定.
对于文本限定字符串中的双引号,我该怎么办?
哇,我希望能够回答"只是设置文本限定符",但想你已经尝试过了,所以我在回答之前尝试过.惊喜,SSIS不支持标准的CSV文件!
看起来这是一个常见的抱怨.微软有一条关于一些可能有帮助的样本的评论; 这是codeplex项目,他们提到正则表达式平面文件源示例和定界文件读取器源示例特别有帮助 - 我猜测分隔文件阅读器会更有价值.