向sql 中匯入excel資料時,使用ms sql的dts功能
可以很方便的匯入,同時引用dll檔案,可以在程式中對匯入過程進行控制。
建立dts包的過程如下:
1。在sql企業管理器中,工具選單選資料轉換服務,匯入資料
按照它的圖形化嚮導提示,可以一步步建立乙個dts包,可以選擇儲存在資料庫。
2。在sql企業管理器中,左邊樹形結構中選擇 資料轉化服務,本地包中
可以新建乙個包,同樣有圖形化的介面建立包:拖乙個excel資料來源,拖乙個sql資料來源
然後在任務裡選 資料轉化任務,原資料選excel源,目的選sql,然後在轉化的肩頭上選屬性
裡面可以配置轉化過程。注意帶有主鍵的資料表,要把選項中 啟用標示插入去掉
在c#裡呼叫過程如下:
private
void
rundts()
2現在專案中遇到問題:
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
inpackage.globalvariables)
}package.globalvariables.addglobalvariable(
"mailfromid
",mailfromid);
C 中使用windows API,及相關指標
沒有感覺到能寫些對其他人有幫助的東西 羅雲彬的 windows32位彙編那本書敲 敲到第9章了,也是第3遍看了,估計也是再看最後一兩遍了,等都抄一遍之後在看看有些什麼值得寫的吧以前用的乙個東西,能讓沒用過的人省些時間吧 c 呼叫windowsapi時,方法和c 那種取得getprocaddress的...
C 中使用clr 通用語言庫 及相關問題
1.在c 中呼叫c 程式 把c 編譯成dll或者axtive控制項,再由c呼叫 比如使用c 呼叫c 的dll swfdotnet是c 編寫的,作者的c 水平,真是令我佩服。這是個特別好的讀寫swf檔案的庫。但是,我要用在c 專案中,怎麼讓c 呼叫c 的dll呢。今天一上午都在琢磨這個問題,耽誤了很多...
jsp中使用jstl匯入html亂碼問題解決方法
在jsp中通過jst的匯入html時會出現亂碼的現象,其原因是org.apache.taglibs.st程式設計客棧andard.tag.common.core.importsupport 的charencoding的值為空則會出現charencoding為預設值也就是iso 8859 1 程式設計...