回答
導入嚮導確實提供了該選項。您可以使用該選項爲要導入的數據編寫自己的查詢,也可以使用複製數據選項並使用「編輯映射」按鈕忽略不想導入的列。
Microsoft suggest幾種方法:
- SQL Server數據轉換服務(DTS)
- 的Microsoft SQL Server 2005集成服務(SSIS)
- SQL Server鏈接服務器
- SQL Server分佈式查詢
- 用於SQL Server的ActiveX數據對象(ADO)和Microsoft OLE DB提供程序
- ADO和Microsoft OLE DB提供程序爲Jet 4.0
如果嚮導(DTS)不工作(我認爲它應該),你可以嘗試這樣的事情http://www.devasp.net/net/articles/display/771.html這基本上意味着做這樣的事情
INSERT INTO [tblTemp] ([Column1], [Column2], [Column3], [Column4])
SELECT A.[Column1], A.[Column2], A.[Column3], A.[Column4]
FROM OPENROWSET
('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Excel.xls;HDR=YES', 'select * from [Sheet1$]') AS A;
你可以使用OPENROWSET,像:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;IMEX=1;HDR=NO;DATABASE=C:\FILE.xls', 'Select * from [Sheet1$]'
只要確保日e路徑是服務器上的路徑,而不是本地機器。
通過'the wiz'我假設你在談論'SQL Server導入和導出嚮導'。 (我也很新,所以我不明白大多數問題,更不用說大多數答案,但我認爲我得到了這個答案)。如果是這樣,你不能拿電子表格或其副本,刪除你不想導入的列,然後使用嚮導?
我一直髮現有能力做我需要的東西,我只在SQL Server 2000上(不知道其他版本有什麼不同)。
編輯:其實我現在正在看它,我似乎能夠選擇哪些列我想映射到現有表中的哪些行。在「選擇源表格和視圖」屏幕上,我查看我正在使用的數據表,選擇「目的地」,然後單擊「編輯...」按鈕。從那裏你可以選擇Excel列和表列來映射它。
這可能聽起來像很漫長,但你可能想看看使用Excel to generate INSERT SQL代碼,你可以通過查詢分析器創建你的表。
運作良好,如果你不能使用嚮導,因爲Excel文件是不是在服務器上
Microsoft Access是另一種選擇。您可以在本地機器上安裝Access數據庫,將Excel電子表格導入(嚮導可用)和link to the the SQL Server database tables via ODBC。
然後,您可以設計一個訪問查詢,將Excel電子表格中的數據附加到SQL Server表中。
連接到Sql Server 2005數據庫後,從對象資源管理器窗口右鍵單擊要將表導入到的數據庫。選擇任務 - >導入數據。 這是一個簡單的工具,可以將輸入數據「映射」到適當的表格中。 您可以保存腳本以在需要時再次運行。
的Excel + SQLCMD +的Perl = exceltomssqlinsert
,您可以使用您的Excel作爲頭端以MSSQL數據庫...注意將truncate table在每個生成的SQL INSERT文件的開頭...
go
sp_configure 'show advanced options',1
reconfigure with override
go
sp_configure 'Ad Hoc Distributed Queries',1
reconfigure with override
go
SELECT * into temptable
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Documents and Settings\abhisharma\Desktop\exl\ImportExcel2SQLServer\ImportExcel2SQLServer\example.xls;IMEX=1',
'SELECT * FROM [Sheet1$]')
select * from temptable
另一種選擇是在Excel中使用VBA,並編寫一個宏來解析電子表格數據並將其寫入SQL。
一個例子是在這裏:http://www.ozgrid.com/forum/showthread.php?t=26621&page=1
Sub InsertARecord()
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim stCon As String, stSQL As String
Set cnt = New ADODB.Connection
Set rst = New ADODB.Recordset
stCon = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=JOEY"
cnt.ConnectionString = stCon
stSQL = "INSERT INTO MyTable (Price)"
stSQL = stSQL & "VALUES (500)"
cnt.Open
rst.Open stSQL, cnt, adOpenStatic, adLockReadOnly, adCmdText
If CBool(rst.State And adStateOpen) = True Then rst.Close
Set rst = Nothing
If CBool(cnt.State And adStateOpen) = True Then cnt.Close
Set cnt = Nothing
End Sub
我用過的最好的工具是http://tools.perceptus.ca/text-wiz.php?ops=7你有沒有嘗試一下?
如果您想使用桌面界面的可視化工具,包括驗證..你可能會喜歡這個Excel工具。您也可以使用該工具創建多用戶數據編輯任務,甚至數據粘貼到任何來源的SQL服務器..
如何驗證和導入Excel電子表格到SQL Server數據庫:
首先,嘗試導入嚮導的32位版本。這顯示了更多支持的導入格式。
背景: 所有這些都取決於您的Office(Runtimes Engines)安裝。
如果您沒有安裝Office 2007或更高版本,導入嚮導(32位)僅允許您導入Excel 97-2003(.xls)文件。
如果您安裝了Office 2010和geater(也包含64位,不推薦),導入嚮導還支持Excel 2007+(.xlsx)文件。
爲了得到一個概述在運行時看到'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
- 1. 如何將Excel電子表格導入SQL Server 2008R2數據庫?
- 2. SQL導入Excel電子表格
- 3. 將Excel電子表格導入sql中作爲表格錯誤
- 4. 如何將Excel電子表格導入SQL Server?
- 5. 導入Excel電子表格導入MS Access數據庫
- 6. 使用VB.Net將Excel電子表格導入到MySQL數據庫
- 7. 將Excel電子表格導入PostgreSQL
- 8. 將Excel電子表格導入Access
- 9. 從SQL Server和另一個Excel電子表格導入數據到Excel電子表格
- 10. 將Excel電子表格導入到phpMyAdmin
- 11. 從Excel電子表格中導入位類型到SQL Server中
- 12. 使用SSIS的SQL Server和Excel電子表格數據導入問題
- 13. 如何從電子表格導入數據到SQL Server?
- 14. 將Excel電子表格數據導入到現有Access數據庫
- 15. MVC2:SQL Server表 - > Excel電子表格
- 16. 加入Excel電子表格到SQL數據庫
- 17. 將Postgres數據庫導出到Excel電子表格
- 18. 如何將Excel電子表格中的數據導入ORACLE APEX?
- 19. 將Excel數據導入到SQL Server
- 20. 以數組格式將Excel電子表格導入C#表單?
- 21. 從Excel導入數據到SQL Server表
- 22. 從Excel工作表導入數據到SQL Server數據庫
- 23. 上傳Excel表和數據導入到SQL Server數據庫
- 24. 將SWT表格數據導出到Excel電子表格
- 25. 如何將excel表格導入到asp.net中的sql數據庫
- 26. 將Excel電子表格導入現有的MS Access表格
- 27. 在Excel(2010)電子表格中填充SQL Server數據
- 28. 從excel電子表格中輸入數據到數據庫中?
- 29. 將Excel電子表格數據導入包含VBA的另一個Excel電子表格
- 30. 將XML導入到SQL Server數據庫
它沒有給我一個選擇導入到現有的表,只是數據庫,它會創建一個新表。 (SQLServer 2008) – user47206 2008-12-17 21:04:56
找到如何工作。謝謝。現在我發現了一個更大的proplem。我正在使用Management Studio 2008,數據庫是2000.我錯誤地認爲它是2005. – user47206 2008-12-18 16:09:40
我還沒有使用過管理工作室2008(我們正在運行2005)。管理工作室2005是向下兼容2000. – NYSystemsAnalyst 2008-12-18 21:37:59