在查詢分析器裡,操作數據庫對象選擇Lee直接寫 SQL語句:
如果是導入數據到現有表,則采用
INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
的形式
如果是導入數據並新增表,則采用
SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
的形式。
以上語句是將 EXCEL文件裡 SHEET1工作表中所有的列都讀進來,如果只想導部分列,可以
INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
其實可以將 OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)當成一個表,例如我就寫過這樣一個句子:
INSERT INTO eval_channel_employee(channel,employee_id)
SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END
,b.id FROM
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:tempname.xls',sheet1$) AS a,pers_employee b
WHERE a.員工編碼 =b.code
簡單的方法:
SQL2005中直接可以實現導入功能 SQL2008不知道可不可以。
操作過程如下:
第一步:登錄到 SQL Server Management Studio,
第二步:在 "對象資源管理器 "中右鍵單擊 "管理 ",在彈出列表中單擊 "導入數據 "
第三步:在 "導入向導 "對話框中單擊 "下一步 ",進入到 "選擇數據源 "對話框,在 "數據源 "列表中選擇 "Microsoft Excel ",同時選擇相應的 Excel 文檔,完成後單擊 "下一步 "(一定要勾選該對話框中的 "首行包含列名稱 ",因此它是將 Excel文檔中的列標題為數據庫表中的列項標題)
第四步:指定目標數據庫服務,依次單擊 "下一步 "…至到 "完成 "
第五步:重新打到 SQL Server Management Studio,進入到導入的數據庫表,可以發現所導入的 Excel文檔數據。
你試下下面的吧:
打開SQL Server Configuration Manager,啟用SQL Server Agent(實例名)。 啟動模式更改為"自動"