1

我正在处理一个 ETL 项目,部分要求是从 MS Dynamics CRM 3.0 中提取电子邮件附件,以便迁移到 Salesforce.com。

我被难住的部分是提取(即保存为本地文件夹中的文件),在 DocumentBody 字段下存储为 MS SQL 2005“文本”(Base64)对象的文档。

如果您熟悉 MS Dynamics 架构,这些都存储在“AnnotationsBase”表下。这是一个查询示例和几行输出:

SELECT top 1
   [AnnotationId]
  ,[OwningUser]
  ,[ObjectId]
  ,[Subject]
  ,[MimeType]
  ,[DocumentBody]
  ,[FileName]
FROM [Manufacturing_Company_MSCRM].[dbo].[AnnotationBase]
where isdocument = 1
order by filesize

AnnotationId: 02E5D4E3-​​5323-DC11-ADF9-0013726038EA

拥有用户: DC86BB76-0A74-DB11-8659-0013726038EA

对象 ID : ED0A7E57-4518-DC11-8EB4-0013726038EA

主题: Microsoft CRM 于 2009 年 3 月 31 日下午 1:19 创建的注释

MimeType:文本/纯文本

DocumentBody: Rmlyc3QgTmFtZSxMYXN0IE5hbWUsRS1tYWlsIEFkZHJlc3MNCkpvaG4sU21pdGgsanNtaXRoQG1pY3Jvc29mdC5jb20NCkZyYW5rLEpvbmVzLGZqb25lc0Bjb250b3NvLmNvbQ0KLCwNCiwsDQosLA0KLCwNCiwsDQosLA0KLCwNCiwsDQosLA0KLCwNCiwsDQo =

文件名: bmc_import.csv


对于许多不同的 mime 类型和数千个附件,我如何编写一种方法来使用这些文件(如 c:\attachments\bmc_import.csv、c:\attachments \budget.xls 等)?

谢谢。

4

1 回答 1

3

我在 2011 年写了一个关于如何使用 Web 服务执行此操作的示例。我意识到这是前面的几个版本,并且是直接 sql 调用的不同方法,但您可能会发现它很有用。我不认为 Crm 3 中的代码会有很大不同,只是服务调用的执行方式和结果解析方式。

导出附件 Mscrm 2011

于 2012-09-12T08:43:48.970 回答