我是一名SSIS新手。我想在保存数据库表中的条目之前格式化我的平面文件的输入。最初我创建了一个平面文件如下: -
" 5"," Green Lantern"," Oa"
所示但是现在我已经创建了一个新的类似包并给出了我的输入文件: -
请注意,我在分隔逗号后面放了一个空格。现在,当我按照上面的方法时,第一个数字字段剥去了双引号,但其余条目保留了它们的引号。知道如何解决这个问题吗?关于stackoverflow上类似问题的一个建议提到了使用"转换脚本"。既然我是新手,那么请问这个方法吗?
答案 0 :(得分:1)
是的,您可以使用脚本组件转换。选择所有列,并将其更改为ReadWrite。代码:
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
Row.ID = Row.ID.Replace("\"", string.Empty);
Row.Movie = Row.Movie.Replace("\"", string.Empty);
Row.City = Row.City.Replace("\"", string.Empty);
}
如果您想修剪空间,可以使用
Row.ID.Replace("\"", string.Empty).Trim();
如果您想要保留"的值,您还需要注意。 &#34 ;.如果建议有用或者您有任何问题,请发帖。
答案 1 :(得分:0)
在“常规”标签中,您可以设置文本限定符“。那么这些引号将被忽略。
然后,当有简单的解决方案时,您不需要编写容易出错的脚本。