SQL Server 2005 Express匯入EXCEL

相信不少Developer和piggy一樣,為了測試方便會在本機端安裝SQL Server Express,但Express 提供的功能較陽春,例如好用的匯入功能便沒有提供。以下setp by setp說明匯入Excel的步驟:

SETP 1:啟用OPENROWSET和OPENDATASOURCE支援
﹡開啟介面區組態
    開始→程式集→Microsoft SQL Server 2005→組態工具→SQL Server
    介面區組態

﹡開啟功能的介面區組態
    點選『功能的介面區組態』

﹡啟用功能並套用
    勾選『OPENROWSET和OPENDATASOURCE支援』
       

SETP 2:變更Ad Hoc Distributed Queries組態(開啟)
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure
組態變更成功之訊息如下
組態選項 'show advanced options' 從 0 變更為 1。請執行 RECONFIGURE 陳述式來安裝。
組態選項 'Ad Hoc Distributed Queries' 從 0 變更為 1。請執行 RECONFIGURE 陳述式來安裝。

缺漏本步驟會出現下列錯誤訊息
訊息 15281,層級 16,狀態 1,行 1 SQL Server 已封鎖元件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 之存取,因為此元件已經由此伺服器的安全性組態關閉。系統管理員可以使用 sp_configure 來啟用 'Ad Hoc Distributed Queries' 的使用。如需有關啟用 'Ad Hoc Distributed Queries' 的詳細資訊,請參閱《SQL Server 線上叢書》中的<介面區組態>(Surface Area Configuration)。


SETP 3:使用指令匯入Excel SELECT * INTO pumpstation FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Dot NET\pumpstation.xls', [BASE_FCT$]) [指令說明]
pumpstatio是匯入後要新建在DB中的資料表名稱
BASE_FCT是工作表名稱,一般是Sheet1
Database的路徑請自行修改為Excel存放路徑
SELECT *亦可換成SELECT 特定欄位
成功匯入之訊息如下
(102 個資料列受到影響)


SETP4:變更Ad Hoc Distributed Queries組態(關閉) exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure
組態變更成功之訊息如下
組態選項 'Ad Hoc Distributed Queries' 從 1 變更為 0。請執行 RECONFIGURE 陳述式來安裝。
組態選項 'show advanced options' 從 1 變更為 0。請執行 RECONFIGURE 陳述式來安裝。

DB成功新增一名為pumpstation的資料表

沒有留言: