如何解决" mongodb.driver" SSIS包中的错误

时间:2016-04-03 08:46:30

标签: c# mongodb ssis

当我运行SSIS包时出现此错误:

脚本组件在用户代码中遇到异常: 项目名称:SC_76bc556b4d8343218e4abc8e9ea1e53 无法加载文件或程序集' Mongo.Driver' version = 1.8.3.9,culture = neutral,PublicKeyToken = f686731cfb9cc103'或其中一个依赖项 系统找不到指定的文件。

但是我按照这篇文章来创建包:https://rajendersehgal.wordpress.com/2015/07/14/data-migration-between-mssql-nosql/

我正在使用Windows 10并放置Mongodb.driver.dll,Mongodb。程序集文件夹中的Bson.dll然后通过浏览框架中的两个文件添加引用。

任何建议都值得赞赏!

1 个答案:

答案 0 :(得分:1)

解决您需要将mongo驱动程序放入GAC存储库see reference(您可能会遇到其他问题,因为可能需要强签名)

  

首先,下载并安装C#驱动程序。下一步是   很重要,因为版本1.5的版本发生了变化   驱动程序:GAC(全局程序集)中不再安装DLL   缓存)自动。但是,他们必须在那里才能使SSIS能够   使用它们。

     

默认情况下,我的驱动程序已安装到C:\ Program Files   (x86)\ MongoDB \ CSharpDriver 1.7。您将要打开一个CMD窗口   管理员模式,然后导航到此文件夹。接下来你需要   GACUTIL,在我的电脑上,我找到了最新版本:

     

C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1   工具\ 64 \

     

找到你的简单技巧:既然你已经在CMD窗口,   只需转到C:\ Program Files(x86)文件夹,然后执行“dir / s”   将Gacutil.exe”。它将列出所有出现的程序,只需使用   最近的日期。输入这些来注册dll   命令:

     

“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1   Tools \ x64 \ gacutil“/ i MongDB.Bson.dll

     

“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1   Tools \ x64 \ gacutil“/ i MongDB.Driver.dll

     

请注意“路径周围的引号对CMD很重要   窗口正确地将gacutil程序与参数分开。

     

完成后,创建一个新的SQL Server Integration Services   SQL Server数据工具(SSDT)中的项目,曾经被称为BIDS   在SQL Server 2008R2(和以前的版本)中。将数据流任务放在   控制流设计表面。然后打开数据流任务进行编辑。

     

接下来,将脚本组件转换拖放到数据上   流动设计表面。出现提示时,将组件类型更改为   源。