网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#应用
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.C#3.0 中对象初始化器(Object In.
.C#动态生成树型结构的Web程序设计.
.C# Source 与VB Source 的不同.
.用CDO.Message打造邮件发送程序.
.C# 中启动进程的三种方法.
.C#程序模拟鼠标操作 [Simulate M.
.Visual C#的SQL Server编程.
.C#投票作弊程序制作思路.
.利用c#制作简单的留言板(2) .
.C#实现Socket传输简单数据.
.C#中接口的深入浅出.
.C#中使用存储过程中的返回值.
.C#计算20902个汉字的拼音首字母 .
.自定义应用程序配置文件(app.co.
.C#中的委托与事件[翻译] .
.使用C#创建SQL Server的存储过程.
.如何用C#写所见即所得的设计器.
.实用技巧:.Net框架类库中定时器.
.用Visual C#动态生成组件.
.C#操作技巧的数据类型之间的转换.

C#中使用DTS来导入数据及相关问题

发表日期:2006-5-29


向Sql 中导入Excel数据时,使用MS SQL的DTS功能
可以很方便的导入,同时引用Dll文件,可以在程序中对导入过程进行控制。

创建DTS包的过程如下:
1。在SQL企业管理器中,工具菜单选数据转换服务,导入数据
按照它的图形化向导提示,可以一步步创建一个DTS包,可以选择保存在数据库。
2。在SQL企业管理器中,左边树形结构中选择 数据转化服务,本地包中
可以新建一个包,同样有图形化的界面建立包:拖一个Excel数据源,拖一个Sql数据源
然后在任务里选 数据转化任务,原数据选Excel源,目的选SQL,然后在转化的肩头上选属性
里面可以配置转化过程。注意带有主键的数据表,要把选项中 启用标示插入去掉


在C#里调用过程如下:
private void RunDTS()
2  {
3   DTS.Package2Class package = new Package2Class();
4   object p = null;
5   package.LoadFromSQLServer("ws-victor-03", null, null, DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_UseTrustedConnection,
6    null, null, null, "TestDTS", ref p);
7   package.Connections.Item(1).DataSource = "dts.XLS";
8   package.Execute();
9  }

现在项目中遇到问题:
1。插入数据时需要插入时间等Excel数据源中不存在的数据
2。Excel数据源中数据有的需要转化,像数值形,导入后变成了1。23131E12等形式
3。插入数据时需要从Sql中查询数据再插入

现在解决了第一条和第三条的一步分:
在上述配置 数据转化任务 时,


DTSDestination("ICC") = DTSSource("SIM Number");
    DTSDestination("IMSI") = DTSSource("IMSI");
    DTSDestination("PIN1") = DTSSource("PIN1");
    DTSDestination("PUK1") = DTSSource("PUK1");
    DTSDestination("PIN2") = DTSSource("PIN2");
    DTSDestination("PUK2") = DTSSource("PUK2");
    DTSDestination("MSISDN") = DTSSource("MSISDN");
    DTSDestination("Fax") = DTSSource("Fax");
    DTSDestination("Data") = DTSSource("Data");
    DTSDestination("Barring") = DTSSource("Barring");
    DTSDestination("MailFormID")  = DTSGlobalVariables("MailFromID").Value;
    DTSDestination("ReceiveDate") = new Date().getYear() + "-" + new Date().getMonth() + "-" + new Date().getDate();
    return(DTSTransformStat_OK);
其中,MailFromID为全局变量,添加方法为包 菜单 属性里面选择全局变量,可在C#中对其进行赋值:

foreach(GlobalVariable global in package.GlobalVariables)
{
    if (global.Name == "MailFromID") {
        package.GlobalVariables.Remove(global.Name);
    }
}
package.GlobalVariables.AddGlobalVariable("MailFromID",MailFromID);

插入时间:
DTSDestination("ReceiveDate") = new Date().getYear() + "-" + new Date().getMonth() + "-" + new Date().getDate();
用javascript拼出来的 哈哈

插入数据时需要从Sql中查询数据再插入:
在包里添加新的任务:
执行Sql任务
SELECT AddressList.*
FROM AddressList
WHERE (ID = ?)
然后配置 输入和输出参数

还剩下第2条没搞定,希望这2天能搞定~

http://calmzeal.cnblogs.com/archive/2006/05/28/411499.html

上一篇:C#中Windows通用的回车转Tab方法 人气:9114
下一篇:存储过程中调用C#写的DLL 人气:8022
浏览全部C#的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐