天天看點

Excel資料導入SQL Server2000的存儲過程

一、建立存儲過程的代碼如下:

ps:FH_SK2是SQL中的資料表,test.xls位于c盤下,sheet1$是預設的第一個tab頁(值得注意的是資料庫表和Excel表字段個數和類型要完全一緻)

如果Excel字段非常多,涉及到行列轉換問題,如下:

如圖1所示的一個Word表格為例,向大家介紹具體的轉置方法。

  

Excel資料導入SQL Server2000的存儲過程

圖1

  1. 首先要在Word中右擊表格左上角的十字标全選整個表格,然後執行右鍵菜單中的“複制”指令

  2. 接下來打開Excel,在任意單元格處點選滑鼠右鍵,選擇“選擇性粘貼→文本”指令,将Word表格粘貼到Excel中。如圖2所示

Excel資料導入SQL Server2000的存儲過程

圖2

  3. 右擊并複制圖2中這些帶有資料的單元格(記住,此步不可缺少,至關重要!)

  4. 然後切換到另一空白工作表中,右擊并執行“選擇性粘貼”指令。最後在彈出的如圖3所示對話框中勾選“轉置”複選框後點選确定即可

Excel資料導入SQL Server2000的存儲過程

圖3

  5. 此時,您便會發現Excel表格中的行列已經按照我們的要求互換了,而且各個單元格的資料也分毫不差,這時再将轉置好的表格拷貝回Word就行了。如圖4所示就是已經轉換好的Word表格,怎麼樣?效果不錯吧。

Excel資料導入SQL Server2000的存儲過程

二、執行存儲過程

在執行存儲過程中,可能會遇到如下錯誤提示:伺服器×××上的MSDTC不可用

解決辦法如下:

MSDTC(分布式交易協調器),協調跨多個資料庫、消息隊列、檔案系統等資料總管的事務。該服務的程序名為Msdtc.exe,該程序調用系統Microsoft Personal Web Server和Microsoft SQL Server。該服務用于管理多個伺服器 .

位置:控制台--管理工具--服務--Distributed Transaction Coordinator

依存關系:Remote Procedure Call(RPC)和Security Accounts Manager

建議:一般家用計算機涉及不到,除非你啟用Message Queuing服務,可以停止。

解決辦法: 1. 在windows控制面版-->管理工具-->服務-->Distributed Transaction Coordinator-->屬性-->啟動

        2.在CMD下運作"net start msdtc"開啟服務後正常。

注:如果在第1步Distributed Transaction Coordinator 無法啟動,則是因為丢失了日志檔案,重新建立日志檔案,再啟動就行了。重新建立 MSDTC 日志,并重新啟動服務的步驟如下:

(1) 單擊"開始",單擊"運作",輸入 cmd 後按"确定"。

(2) 輸入:msdtc -resetlog (注意運作此指令時,不要執行挂起的事務)

(3) 最後輸入:net start msdtc 回車,搞定!