SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB

引用至:https://arcanecode.com/2014/01/14/importing-mongodb-data-using-ssis-2012/

1.版本号:

 

SSIS:2012

  

 

MongoDB的C#驱动版本:1.7

下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads

或者我上传到百度云盘:

链接:https://pan.baidu.com/s/1IZQ-wWLNDyABGXTQIBHfeg 
提取码:dglw

 

MongoDB版本:3.6.3

这里不介绍怎么安装MongoDB

2.

第一步:下载并安装CSharpDriver-1.7.0.4714.msi,以上下载的时候,使用这个msi的就可以了,另一个zip的就不需要,我就是备个份

第二步:非常重要:这里的驱动在1.5版本上面已经变了,不再自动安装GAC,但是SSIS又必须要这个,所以只有我们自己安装了

我们的CSharpDriver驱动默认的安装在   C:\Program Files (x86)\MongoDB\CSharpDriver 1.7

然后我们接下来需要   GACUTIL工具来安装驱动,打开CMD使用如下命令找一下这个工具,我的电脑位置在:    C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7 Tools\x64\gacutil

可以在cmd中导航到:C:\Program Files (x86)   这个目录,使用命令来查找:dir /s gacutil.exe

SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第1张图片  

记住这个目录,接下来需要调用目录来注册。

 

3.使用管理员权限打开cmd,导航到  C:\Program Files (x86)\MongoDB\CSharpDriver 1.7,使用命令:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7 Tools\x64\gacutil" /i MongDB.Bson.dll

和命令:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7 Tools\x64\gacutil" /i MongoDB.Driver.dll

分别安装这两个dll文件

 

4.以上都成功之后,打开SSDT工具,创建一个数据流任务,然后在数据流任务中创建脚本主键,选择源:

  SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第2张图片SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第3张图片

双击打开这个源,然后编辑脚本:

SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第4张图片  

 

我这里测试是使用的脚本任务,暂时在脚本任务那边工作:

SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第5张图片  

同样的进去编辑脚本,最右侧的引用添加上面安装的两个dll文件,对引用点击右键,然后添加引用,定位到:C:\Program Files (x86)\MongoDB\CSharpDriver 1.7,

SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第6张图片  

如下图所示:

SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第7张图片  

选中这两个dll文件,添加进去

   SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第8张图片

如下图:

SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第9张图片  

 

 

接下来就是代码:

在命名空间添加以下引用:

using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Bson.Serialization;

SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第10张图片  

然后在main方法里面添加如下代码:

string connectionString = "mongodb://192.168.2.21:27017";

string connectionString = "mongodb://192.168.2.21:27017";
string databaseName = "test";

var client = new MongoClient(connectionString);
var server = client.GetServer();
var database = server.GetDatabase(databaseName);

if (client == null)
{
MessageBox.Show("连接失败!");
}
else
{
MessageBox.Show("连接成功!");

}

然后关闭脚本,保存,在执行包测试!

我这里是执行成功了,如果有问题欢迎加我微信探讨。

  SSIS(2012版本)连接MongoDB,使用SSIS2012导入MongoDB_第11张图片

 

你可能感兴趣的:(BI)