C#论坛-玄机论坛-C#论坛-玄机宝盒-玄机类库-C#

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 967|回复: 9

[数据库] 导出SQLServer数据库表至Mongodb

[复制链接]
  • TA的每日心情
    慵懒
    2018-8-14 22:07
  • 签到天数: 84 天

    [LV.6]【武林翘楚】

    君临 发表于 2014-10-21 11:20:33 | 显示全部楼层 |阅读模式

    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    如有疑问,请加入官方群询问

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    [C#] 纯文本查看 复制代码
    /// <summary>
            /// 获取sql库中的数据,将其导入Mongodb.
           /// </summary>
           /// <param name="SqlDataName">SQL库名</param>
           /// <param name="SqlTableName">SQL表名</param>
           /// <param name="CollectionsName">MongoDb表名</param>
            private static void GetSqlFieldInsertInToMongoDb(string SqlDataName, string SqlTableName, string CollectionsName)
            {
                //string _conString = "Data Source=./;Initial Catalog=" + SqlDataName + ";Integrated Security=True";  使用windows身份验证
                string _conString = "server=IP地址;DataBase=" + SqlDataName + ";user=账号;password=密码";
                DbHelperSQL _helpersql = new DbHelperSQL(_conString);
                MongoDBHelper<Document> helper = new MongoDBHelper<Document>(CollectionsName);
                string sql = "select * from " + SqlTableName;
                SqlDataReader reader = _helpersql.ExecuteReader(sql);
                int i = 0;
                List<KeyValuePair<string, object>> listKeys;
                Document doc;
                while (reader.Read())
                {
                    listKeys = new List<KeyValuePair<string, object>>();
                    i++;
                    for (int j = 0; j < reader.FieldCount; j++)
                    {
                        string strKey = reader.GetName(j);
                        string strValue = reader[strKey].ToString();
                        listKeys.Add(new KeyValuePair<string, object>(strKey, strValue));
                    } 
                    doc = new Document(listKeys);
                    try
                    {
                        helper.Insert(doc);
                    }
                    catch (Exception ex)
                    {
                        string path = @"D:\MongodbCollection\Error\"+DateTime.Now.ToString("yyyy-MM-dd HH_mm_ss.txt");
                        File.AppendAllLines(path, new string[] { "ERROR:                 " + ex.ToString() + "-=++++=-" + doc.ToString() }, Encoding.Default); 
                    }
                    listKeys = null;
                    doc = null;
                    GC.Collect();
                    Console.WriteLine(i.ToString());
                }
                reader.Dispose();
                reader.Close();
            }

    请注意 :本方法使用Mongodb非官方驱动,附件附带一份DLL与操作此DLL的Helper源码 .NetFrameWork 4.0下编译通过.因为使用linq故而没有测试2.0..
    游客,如果您要查看本帖隐藏内容请回复

    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

    该用户从未签到

    netvigator 发表于 2014-12-16 22:19:11 | 显示全部楼层
    多谢楼主分享
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-3-24 10:31
  • 签到天数: 5 天

    [LV.2]【绿林好汉】

    xfpx 发表于 2015-3-20 09:34:05 | 显示全部楼层
    多谢楼主分享
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    bigblue1980 发表于 2015-6-24 11:46:08 | 显示全部楼层
      好东西,收藏了
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    secai 发表于 2015-6-24 14:25:22 | 显示全部楼层
    这真真是极好的
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-4-29 23:03
  • 签到天数: 6 天

    [LV.2]【绿林好汉】

    ppszxc 发表于 2015-7-12 23:02:15 | 显示全部楼层
    这个挺不错的,下载来用用
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    yingxiaobu 发表于 2015-8-5 21:46:51 | 显示全部楼层
    gongd thank share
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    bin407172497 发表于 2015-12-12 15:21:13 | 显示全部楼层
    感谢分享!大力支持!
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2018-1-9 14:57
  • 签到天数: 3 天

    [LV.2]【绿林好汉】

    yanfei233 发表于 2018-4-15 00:49:05 | 显示全部楼层
    32423胜多负少苛
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-6-13 09:10
  • 签到天数: 35 天

    [LV.5]【名动四方】

    就是爱你Li 发表于 2018-4-15 20:02:18 | 显示全部楼层
    太棒了!!!
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    QQ|Archiver|手机版|小黑屋|玄机论坛   

    GMT+8, 2018-9-21 02:26 , Processed in 1.179271 second(s), 27 queries .

    Powered by Msdn5.com

    © 2014-2015 Msdn5 Inc.

    快速回复 返回顶部 返回列表