我正在Dynamics CRM 2011之上构建一个庞大的库存和销售管理计划。我已经做了很多工作,但我有点困在一个部分:
图像存储在编码为base64且带有MimeType列的数据库中。我想知道如何按计划以编程方式提取这些图像,作为数据传输的一部分发送,以同步另一个数据库。
我有一个SQL Server代理作业,用于导出我创建的视图。我正在考虑编写一个程序来获取生成的CSV并使用它来获取我们需要为其提取图像的产品列表,然后查询数据库并将文件保存为productserial-picnum.ext
这是最好的方法吗?有没有更简单的方法将图像从数据库中拉出来并进入文件?
我希望它只能导出自上次修改后的列以来发生过更改的图像。
我完全不知道C#,VB,PHP和JavaScript足以造成一些损害..
答案 0 :(得分: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