圖解SSIS批量導(dǎo)入Excel文件的實(shí)現(xiàn)方法
1、建立測試excel文件,假設(shè)有a b c d四個(gè)字段,保存在f:/excel目錄下

并復(fù)制很多個(gè)一樣的文件

2、打開Microsoft Visual Studio 2005或者隨sql2005安裝的SQL Server Business Intelligence Development Studio,新建一個(gè)商業(yè)智能項(xiàng)目。

3、工具箱拖一個(gè)Foreach循環(huán)容器

4、編輯容器,設(shè)定遍歷目錄和其他參數(shù)

5、新建一個(gè)映射變量,用來存儲(chǔ)遍歷當(dāng)中的文件路徑

6、怎么存儲(chǔ)不用你關(guān)心,你只要指定一個(gè)變量名就ok了

7、確定后,容器生成完畢,接著拖一個(gè)數(shù)據(jù)流任務(wù)到容器中

8、切換到數(shù)據(jù)流tab頁,拖一個(gè)excel源

9、編輯excel源,選擇一個(gè)剛剛的任意excel

10、選擇一個(gè)sheet

11、拖一個(gè)ole db目標(biāo)到數(shù)據(jù)流中

12、按住excel源的綠色箭頭,拖動(dòng)到oledb目標(biāo)上

13、編輯oledb目標(biāo),選擇一個(gè)sqlserver數(shù)據(jù)表,這個(gè)表必須是已經(jīng)存在的,這里我們建立一個(gè)ssistest數(shù)據(jù)庫,生成一個(gè)和excel結(jié)構(gòu)一樣的表tt
create table tt(a varchar(100),b varchar(100),c varchar(100),d varchar(100))
然后用oledb去連接

14、編輯字段映射關(guān)系,結(jié)構(gòu)一樣,它會(huì)自動(dòng)找到

15、編輯下面的excel鏈接管理器,這里將用到foreach的變量來代替剛剛選擇的那個(gè)excel文件

16、連接管理器的屬性中設(shè)置變量的映射用法

17、expressions的屬性編輯列表中,左邊選擇 excelfilepath,這個(gè)是連接管理器的屬性,我們將用變量來代替

18、再點(diǎn)擊表達(dá)式的屬性編輯按鈕,把列表中的變量用戶::xlspath變量拖到下面的表達(dá)式框中

19、這時(shí)ssis將會(huì)報(bào)錯(cuò),并給出警告

20、上圖中黃顏色的區(qū)域,右鍵-屬性,打開控制流的屬性窗口,設(shè)置DelayValidation為True就可以了。

經(jīng)過以上20步的配置,整個(gè)過程就結(jié)束了,你可以按下F5看看效果,文件夾下所有的excel將被批量導(dǎo)入數(shù)據(jù)庫。另外可以通過sqlserver的作業(yè)來調(diào)用ssis的包實(shí)現(xiàn)定期自動(dòng)把目錄下的excel導(dǎo)入數(shù)據(jù)庫。
相關(guān)文章
sqlserver 錯(cuò)誤602,未能在sysindexes中找到數(shù)據(jù)庫 的解決辦法
這是因?yàn)楦郊拥牡臄?shù)據(jù)庫是Sql2005格式,而使用的是Sql2000附加造成的2010-05-05必須會(huì)的SQL語句(七) 字符串函數(shù)、時(shí)間函數(shù)
這篇文章主要介紹了sqlserver中字符串函數(shù)、時(shí)間函數(shù)使用方法,需要的朋友可以參考下2015-01-01Sql?Server?"用戶登錄失敗,錯(cuò)誤編18456"的解決過程
在我們使用數(shù)據(jù)庫的時(shí)候,偶爾會(huì)遇到一些登錄上的錯(cuò)誤提示,下面這篇文章主要給大家介紹了關(guān)于Sql?Server?"用戶登錄失敗,錯(cuò)誤編18456"的解決過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09SqlServer創(chuàng)建自動(dòng)收縮事務(wù)日志任務(wù)的圖文教程
SQL Server數(shù)據(jù)庫存在一個(gè)問題,如果你限制了它的日志文件的大小,那么當(dāng)數(shù)據(jù)庫日志達(dá)到這個(gè)大小的時(shí)候,數(shù)據(jù)庫就會(huì)停止寫入日志,下面這篇文章主要給大家介紹了關(guān)于SqlServer創(chuàng)建自動(dòng)收縮事務(wù)日志任務(wù)的相關(guān)資料,需要的朋友可以參考下2022-09-09sql?server多行數(shù)據(jù)合并一行顯示簡單實(shí)現(xiàn)代碼
有時(shí)候我們需要將多行數(shù)據(jù)按照某一列進(jìn)行合并,以便更方便地進(jìn)行數(shù)據(jù)分析和處理,這篇文章主要給大家介紹了關(guān)于sql?server多行數(shù)據(jù)合并一行顯示簡單實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2023-12-12sql server中Select count(*)和Count(1)的區(qū)別和執(zhí)行方式
在SQL Server中Count(*)或者Count(1)或者Count([列])或許是最常用的聚合函數(shù)。很多人其實(shí)對這三者之間是區(qū)分不清的。本文會(huì)闡述這三者的作用,關(guān)系以及背后的原理2015-02-02SQL SERVER 將XML變量轉(zhuǎn)為JSON文本
這篇文章主要介紹了SQL SERVER 將XML變量轉(zhuǎn)為JSON文本的相關(guān)資料,需要的朋友可以參考下2016-03-03