圖解SSIS批量導(dǎo)入Excel文件的實現(xiàn)方法
更新時間:2013年06月11日 11:25:27 作者:
本篇文章是對SSIS批量導(dǎo)入Excel文件的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下
將一個目錄下(可以包括子目錄)結(jié)構(gòu)一樣的excel文件批量導(dǎo)入sql2005,可以用ssis來定制任務(wù).下面用大量圖片完全說明整個過程.
1、建立測試excel文件,假設(shè)有a b c d四個字段,保存在f:/excel目錄下

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

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

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

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

5、新建一個映射變量,用來存儲遍歷當中的文件路徑

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

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

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

9、編輯excel源,選擇一個剛剛的任意excel

10、選擇一個sheet

11、拖一個ole db目標到數(shù)據(jù)流中

12、按住excel源的綠色箭頭,拖動到oledb目標上

13、編輯oledb目標,選擇一個sqlserver數(shù)據(jù)表,這個表必須是已經(jīng)存在的,這里我們建立一個ssistest數(shù)據(jù)庫,生成一個和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)一樣,它會自動找到

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

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

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

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

19、這時ssis將會報錯,并給出警告

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

經(jīng)過以上20步的配置,整個過程就結(jié)束了,你可以按下F5看看效果,文件夾下所有的excel將被批量導(dǎo)入數(shù)據(jù)庫。另外可以通過sqlserver的作業(yè)來調(diào)用ssis的包實現(xiàn)定期自動把目錄下的excel導(dǎo)入數(shù)據(jù)庫。
1、建立測試excel文件,假設(shè)有a b c d四個字段,保存在f:/excel目錄下

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

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

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

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

5、新建一個映射變量,用來存儲遍歷當中的文件路徑

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

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

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

9、編輯excel源,選擇一個剛剛的任意excel

10、選擇一個sheet

11、拖一個ole db目標到數(shù)據(jù)流中

12、按住excel源的綠色箭頭,拖動到oledb目標上

13、編輯oledb目標,選擇一個sqlserver數(shù)據(jù)表,這個表必須是已經(jīng)存在的,這里我們建立一個ssistest數(shù)據(jù)庫,生成一個和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)一樣,它會自動找到

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

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

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

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

19、這時ssis將會報錯,并給出警告

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

經(jīng)過以上20步的配置,整個過程就結(jié)束了,你可以按下F5看看效果,文件夾下所有的excel將被批量導(dǎo)入數(shù)據(jù)庫。另外可以通過sqlserver的作業(yè)來調(diào)用ssis的包實現(xiàn)定期自動把目錄下的excel導(dǎo)入數(shù)據(jù)庫。
相關(guān)文章
SQL Server免費版的安裝以及使用SQL Server Management Studio(SSMS)連接數(shù)據(jù)庫的
這篇文章主要介紹了SQL Server免費版的安裝以及使用SQL Server Management Studio(SSMS)連接數(shù)據(jù)庫的圖文方法,需要的朋友可以參考下2020-02-02
獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法
這篇文章主要介紹了獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法 ,需要的朋友可以參考下2015-08-08
在查詢結(jié)果中添加一列表示記錄的行數(shù)的sql語句
如何在查詢結(jié)果中添加一列表示記錄的行數(shù)? 要求是增加一列顯示行數(shù)2008-03-03
必須會的SQL語句(八) 數(shù)據(jù)庫的完整性約束
這篇文章主要介紹了sqlserver中數(shù)據(jù)庫的完整性約束使用方法,需要的朋友可以參考下2015-01-01
如何統(tǒng)計全天各個時間段產(chǎn)品銷量情況(sqlserver)
對一個賣場來說,肯定有負責(zé)人每天定時去統(tǒng)計每天各個時間段產(chǎn)品銷量情況,以此保證賣場長期可持續(xù)發(fā)展,有的用excel表統(tǒng)計,但是用起來很不方便,下面給大家介紹sqlserver版如何統(tǒng)計全天各個時間段產(chǎn)品銷量情況2015-08-08
如何通過sysprocesses 簡單查詢死鎖及解決死鎖最新方案(四步解決)
這篇文章主要介紹了如何通過sysprocesses 簡單查詢死鎖及解決死鎖最新方案,本文分四步幫助大家成功解決,需要的朋友可以參考下2024-02-02
Win10下安裝Sql Server 2014反復(fù)提示需安裝.NET Framework 3.5 SP1的解決方案
這篇文章主要介紹了Win10下安裝Sql Server 2014反復(fù)提示需安裝.NET Framework 3.5 SP1的解決方案,需要的朋友可以參考下2016-05-05

