zoukankan      html  css  js  c++  java
  • c#直接调用ssis包实现Sql Server的数据导入功能

    调用ssis包实现Sql Server的数据导入功能网上已经有很多人讨论过,自己参考后也动手实现了一下,上一次笔者的项目中还用了一下这个功能。思前想后,决定还是贴一下增强记忆,高手请54. 1、直接调用ssis包,需要引用Microsoft.SqlServer.DTSRuntimeWrap.dll,客户端需要安装MS SQL Server2005的客户端组件。 2、调用代码

    复制代码
            /// <summary>         /// /通过SSIS包 将数据导入数据库         /// </summary>         /// <param name="dtsxFileName">dtsx文件名</param>         /// <param name="csvFileName">csv文件名</param>         /// <returns></returns>         protected bool FillData2DB(string dtsxFileName, string csvFileName)         {             string dtsxFile = System.AppDomain.CurrentDomain.BaseDirectory + "DTSX\" + dtsxFileName;
                Microsoft.SqlServer.Dts.Runtime.Wrapper.Application app = new Microsoft.SqlServer.Dts.Runtime.Wrapper.Application();
                //Call the dtsx file              IDTSPackage90 package = app.LoadPackage(dtsxFile, truenull); //另外还有一种方法叫LoadFromSQLServer              package.Connections["File"].ConnectionString = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, csvFileName);             package.Connections["本地连接"].ConnectionString = ConfigurationSettings.AppSettings["ConnStr"];
                DTSExecResult result = package.Execute();             //获取包的执行信息             //string message = string.Empty;             //if (result.Equals(DTSExecResult.DTSER_FAILURE))             //{             //    for (int i = 0; i < package.Errors.Count; i++)             //    {             //        message += package.Errors[i].Description;             //    }             //}             //if (!string.IsNullOrEmpty(message))             //{             //    throw new Exception(message); //抛出异常             //}             if (result.Equals(DTSExecResult.DTSER_SUCCESS))                 return true;             else                 return false;
            }
    复制代码

     需要的配置节如下:

    <?xml version="1.0" encoding="utf-8" ?> <configuration>   <appSettings>     <add key="ConnStr" value="Data Source=10.10.**.***;User ID=adminTest;Password=***;Initial Catalog=TestDb;Provider=SQLNCLI.1;Persist Security Info=True;"/>   </appSettings> </configuration>
  • 相关阅读:
    MVC中单选按钮的实现
    前端点击手机号码跳转到手机拨号页面
    jQuery限制文本框只能输入正整数
    Asp.Net 之 二维码生成
    MVC +Jqyery+Ajax 实现弹出层提醒
    jQuery Ajax使用实例
    ASP的调试技术解答
    模式应用场景
    redis笔记
    yii resful
  • 原文地址:https://www.cnblogs.com/armyfai/p/5009642.html
Copyright © 2011-2022 走看看