使用VB.net或C#(SSIS)将映像写入磁盘

时间:2011-11-29 17:53:15

标签: c# sql-server vb.net ssis

我正在创建一个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)对我都没问题,因为我不知道是否有足够的偏好。

感谢您的帮助。

2 个答案:

答案 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)

相关问题