我正在创建一个SSIS作业,它将从SQL数据库中提取图片数据并将每张图片写入文件。我们有一个ID系统,可以将员工直接拍摄的所有图像存储到数据库字段中,但我们将转移到一个新系统,该系统将所有图像作为文件存储在用户ID的路径中。
我已经创建了获取所有用户和正确路径的主数据流,但是我在编写将创建图像的脚本组件时遇到了问题。我将图像数据作为字符串,但如何让它以正确的路径转到文件?
这就是我目前所拥有的:
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Dim filesys, folder
filesys = CreateObject("Scripting.FileSystemObject")
If Not filesys.FolderExists("E:\\test\\" + Row.Folder) Then
folder = filesys.CreateFolder("E:\\test\\" + Row.Folder)
End If
End Sub
我正在寻找的最终路径是:“E:\ test \”+ Row.Folder +“\”+ Row.CardholderID +“.jpg”。这将更改为包括我们正在使用的程序所需的另一个文件夹。
我并不是真的很依恋,所以无论是vb.net还是c#(ssis 2008)对我都没问题,因为我不知道是否有足够的偏好。
感谢您的帮助。
答案 0 :(得分:2)
首先,我想说我认为billinkc有更好的解决方案,但无论如何我想回答你问题的.net部分。
这是一个如何做你想做的失败的例子。一旦你回答我在评论中提出的问题,我会用更具体的内容更新它。
Dim dir As String = "e:\test\" & Row.Folder
If Not IO.Directory.Exists(dir) Then
IO.Directory.CreateDirectory(dir)
End If
Dim fs As New IO.FileStream(IO.Path.Combine(dir, Row.CardHolderID & ".jpg"), IO.FileAccess.Write)
Dim writer As New IO.BinaryWriter(fs)
writer.Write(<Your data>)
fs.Close()
fs.Dispose()
答案 1 :(得分:2)
是否有理由推出自己的解决方案而不是使用Export Column Transformation的内置功能
实施例