最近公司有一个需求,有一个表,表里有个字段存的是URL,要检测出哪些URL是有效的
在ETL中遇到两个问题:
1.在DB里URL列是NVARCHAR(MAX),在Script Component里转换成string时出错,Debug看到的是Microsoft.SqlServer.Dts.Pipeline.BlobColumn而不是真正的URL内容,百度了一下Converting Microsoft.SqlServer.Dts.Pipeline.BlobColumn to String In SSIS using C#
string newurl=System.Text.Encoding.Unicode.GetString(Row.url.GetBlobData(0, Convert.ToInt32(Row.url.Length)));
2.运行时抛出异常:
这个问题是因为URL格式不正确http后面要跟两个//(http://),不能是一个/(http:/)
我用过Script component task 的同步和异步两种方法:3100多条记录,执行时间没很大差距
同步:
异步: