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>
  • 相关阅读:
    linux 重定向命令
    G++依赖安装顺序
    SQL*Plus Error Messages
    理解 chroot
    CRM的基本功能有哪些?
    GCC依赖安装顺序
    RHEL6.3 安装GCC 记录
    python requests模块http请求
    安装paramiko模块
    python执行系统命令的方法:os.system(), os.popen(), subprocess.Popen()
  • 原文地址:https://www.cnblogs.com/armyfai/p/5009642.html
Copyright © 2011-2022 走看看