国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

C#中使用DTS來導入數據及相關問題

2024-07-21 02:29:03
字體:
來源:轉載
供稿:網友

向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天能搞定~

中國最大的web開發資源網站及技術社區,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 始兴县| 鄂尔多斯市| 梁河县| 吉木萨尔县| 浑源县| 商城县| 德化县| 南华县| 许昌县| 巴林右旗| 沅陵县| 射洪县| 河津市| 张掖市| 楚雄市| 内乡县| 黎川县| 江孜县| 临安市| 鹤庆县| 蒲城县| 财经| 公安县| 宽甸| 云和县| 彭州市| 加查县| 洱源县| 教育| 石柱| 土默特左旗| 南涧| 西乌| 专栏| 连云港市| 满城县| 怀柔区| 尉氏县| 中江县| 巴里| 冀州市|