c#直接调用ssis包实现Sql Server的数据导入功能

本文介绍如何使用SSIS包实现从CSV文件到Sql Server数据库的数据导入过程。通过调用Microsoft.SqlServer.DTSRuntimeWrap.dll库并设置必要的连接字符串,实现了数据的有效迁移。
摘要由CSDN通过智能技术生成

调用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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值