c#winform调用ssis包到底怎么弄
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#winform调用ssis包到底怎么弄相关的知识,希望对你有一定的参考价值。
调用ssis包实现Sql Server的数据导入功能网上已经有很多人讨论过,自己参考后也动手实现了一下,上一次笔者的项目中还用了一下这个功能。思前想后,决定还是贴一下增强记忆,高手请54.1、直接调用ssis包,需要引用Microsoft.SqlServer.DTSRuntimeWrap.dll,客户端需要安装MS SQL Server2005的客户端组件。
2、调用代码
代码
///
/// /通过SSIS包 将数据导入数据库
///
/// dtsx文件名
/// csv文件名
///
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, true, null); //另外还有一种方法叫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;
参考技术A Form1 调用 Form2的代码,可以利用 委托进行实现,写了一个例子参考一下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//主窗体
public partial class MainForm : Form
private Form1 form1 = null;
private Form2 form2 = null;
public MainForm()
InitializeComponent();
form1 = new Form1();
form2 = new Form2();
//传递 Form2 的 Fun1 方法 到 Form1 的委托
form1.Function = new Form1.FunctionDelegate(form2.Fun1);
private void btnForm1_Click(object sender, EventArgs e)
form1.Show();
private void btnForm2_Click(object sender, EventArgs e)
form2.Show();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Form1
public partial class Form1 : Form
//定义一个委托类型
//根据需要可以修改是否带参数和返回值
public delegate void FunctionDelegate(string text);
//些委托的值 由 Form2 函数 给出
public FunctionDelegate Function;
public Form1()
InitializeComponent();
private void btnStart_Click(object sender, EventArgs e)
//如果委托不为空时,进行调用
if (Function != null)
Function("Hello");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Form2
public partial class Form2 : Form
public Form2()
InitializeComponent();
//定义一个由 Form1 调用的方法
//此方法的参数和返回值要和Form2的委托一致
public void Fun1(string text)
label1.Text = text;
C#winform怎么弄出类似于excel的表格?简单点的就好
参考技术A 用dataGridView控件。基本上显示效果可以和EXCEL相同。即使想做汇总,合并之类的都可以。 参考技术B 用DataGrid控件不就行了 参考技术C 最好还是用水晶报表哦。。这个效果很好。 参考技术D 王网上有现成的代码,,改改就能用的,,,,,,,,,,,以上是关于c#winform调用ssis包到底怎么弄的主要内容,如果未能解决你的问题,请参考以下文章
C#winform怎么弄出类似于excel的表格?简单点的就好
跪求C语言函数调用的详细过程,函数之间是怎么传递的,到底是怎么发生调用的,最好是视频
谁会用C#winform中的Chart控件,教教我,急用,谢谢。