將一個(gè)目錄下(可以包括子目錄)結構一樣的excel文件批量導入sql2005,可以用ssis來(lái)定制任務(wù).下面用大量圖片完全說(shuō)明整個(gè)過(guò)程.
1、建立測試excel文件,假設有a b c d四個(gè)字段,保存在f:\excel目錄下
并復制很多個(gè)一樣的文件
2、打開(kāi)Microsoft Visual Studio 2005或者隨sql2005安裝的SQL Server Business Intelligence Development Studio,新建一個(gè)商業(yè)智能項目。
3、工具箱拖一個(gè)Foreach循環(huán)容器
4、編輯容器,設定遍歷目錄和其他參數
5、新建一個(gè)映射變量,用來(lái)存儲遍歷當中的文件路徑
6、怎么存儲不用你關(guān)心,你只要指定一個(gè)變量名就ok了
7、確定后,容器生成完畢,接著(zhù)拖一個(gè)數據流任務(wù)到容器中
8、切換到數據流tab頁(yè),拖一個(gè)excel源
9、編輯excel源,選擇一個(gè)剛剛的任意excel
10、選擇一個(gè)sheet
11、拖一個(gè)ole db目標到數據流中
12、按住excel源的綠色箭頭,拖動(dòng)到oledb目標上
13、編輯oledb目標,選擇一個(gè)sqlserver數據表,這個(gè)表必須是已經(jīng)存在的,這里我們建立一個(gè)ssistest數據庫,生成一個(gè)和excel結構一樣的表tt
create table tt(a varchar(100),b varchar(100),c varchar(100),d varchar(100))
然后用oledb去連接
14、編輯字段映射關(guān)系,結構一樣,它會(huì )自動(dòng)找到
15、編輯下面的excel鏈接管理器,這里將用到foreach的變量來(lái)代替剛剛選擇的那個(gè)excel文件
16、連接管理器的屬性中設置變量的映射用法
17、expressions的屬性編輯列表中,左邊選擇 excelfilepath,這個(gè)是連接管理器的屬性,我們將用變量來(lái)代替
18、再點(diǎn)擊表達式的屬性編輯按鈕,把列表中的變量用戶(hù)::xlspath變量拖到下面的表達式框中
19、這時(shí)ssis將會(huì )報錯,并給出警告
20、上圖中黃顏色的區域,右鍵-屬性,打開(kāi)控制流的屬性窗口,設置DelayValidation為T(mén)rue就可以了。
經(jīng)過(guò)以上20步的配置,整個(gè)過(guò)程就結束了,你可以按下F5看看效果,文件夾下所有的excel將被批量導入數據庫。另外可以通過(guò)sqlserver的作業(yè)來(lái)調用ssis的包實(shí)現定期自動(dòng)把目錄下的excel導入數據庫。
本文來(lái)自CSDN博客,轉載請標明出處:http://blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx
聯(lián)系客服