0

我正在 Dynamics CRM 2011 之上构建一个庞大的库存和销售管理程序。我已经完成了很多工作,但我有点卡在一个部分:

图像存储在数据库中,编码为 base64,带有 MimeType 列。我想知道如何按计划以编程方式提取这些图像,作为数据传输的一部分发送以同步另一个数据库。

我有一个导出我创建的视图的 SQL Server 代理作业。我正在考虑编写一个程序,该程序将采用生成的 CSV 并使用它来获取我们需要为其提取图像的产品列表,然后它查询数据库并将文件保存为 productserial-picnum.ext

这是最好的方法吗?有没有更简单的方法将图像从数据库中提取到文件中?

我希望它只能导出自上次修改列或其他内容以来已更改的图像。

我根本不了解 C#,VB、PHP 和 JavaScript 足以造成一些损害。

4

1 回答 1

1

您应该能够在 TSQL 本身中实现这一点

OPEN cursor with qualifying records (where now>lastmodified etc)

For Each Record
Select Binary Data into "@BinaryData
Convert "@BinaryData to @VarcharData (Something like below will work)
    SET @VarcharData = CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:variable("@BinaryData")))', 'VARCHAR(MAX)')

Write @VarcharData to file (on server or a network drive if the agent is configured to write out)
Close File
Next Record
于 2013-09-24T04:44:59.900 回答