Excel 匯入 SQL Server 步驟:
1. 在登錄檔中按照以下方法設定 Excel 的文字長度。如果不設定, 會導致列中超過255個字元的記錄被截斷;
如果是:Jet引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel
然後找到 TypeGuessRows這個項.預設為8的.修改為0.
2. 在SQL Server中啟用:
--使用前,啟用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--使用完成後,關閉Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
3. 將Excel 中的檔案插入到 SQL Server 中
--直接查詢Excel
SELECT * into TempTable FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0', 'Excel 8.0;HDR=YES;DATABASE=d:\1.xls ',sheet1$)
--HDR=YES 有兩個值:YES/NO,表示第一行是否欄位名,預設是YES,第一行是欄位名
--IMEX=1 解決數字與字元混合時,識別不正常的情況.
值得注意的是:
1. 記住:如果你在Excel中是 sheet1 , 在上面的語句中還是得寫 sheet1$
2. 如果你直接複製某段程式碼過去執行不了, 很可能是中間多了空格什麼的, 有些網站複製過來會多些空格。
3. 還是在本地連線執行查詢xls吧, 外部連線查詢xls可能會有錯誤。
4. 如果你沒有關閉Excel就來查詢xls, 會報以下錯誤:
Msg 7399, Level 16, State 1, Line 1
連結伺服器 "(null)" 的 OLE DB 訪問介面 "MICROSOFT.JET.OLEDB.4.0" 報錯。提供程式未給出有關錯誤的任何資訊。
Msg 7303, Level 16, State 1, Line 1
無法初始化連結伺服器 "(null)" 的 OLE DB 訪問介面 "MICROSOFT.JET.OLEDB.4.0" 的資料來源物件。
4. 雖然採取了這麼多措施, 但還是要防止出現截斷, 如果資料量少於1000條,手工檢查一下全部資料(看一下頭和尾就好)。如果資料量大,至少要檢視LEN大於255的所有記錄。
5. 將臨時表的的欄位去掉回車,換行,Tab鍵, 左右空格。
UPDATE Table1 SET ICD=LTRIM(RTRIM(replace(replace(replace(CONVERT(VARCHAR(max),ICD),char(10),''),char(13),''),CHAR(9),'')))
6. 更新資料表。手工查檢, 如果資料量不超過1000條, 應該每一條都測試;
7. 主要的幾點容易出錯的地方:
- 在初次測試時, 應該測試所有的較短的單條資料, 對於較長的資料, 測試最尾一條和中間一條Code即可
- 有些資料需要後補0, 如: 995 ==> 995.0
- 有些資料需要前補0, 如: 78.11 ==> 078.11
- 有些資料中間有空格, 如:7945 V77.0, 其實應該是兩條資料, 應該用逗號讓兩者分開。
- 必需測試每一條資料。
相關文章
- 從Excel匯入sql serverExcelSQLServer
- (轉)excel和sql server的匯入匯出ExcelSQLServer
- 從EXCEL匯入資料到SQL SERVERExcelSQLServer
- SQL SERVER 和EXCEL的資料匯入匯出SQLServerExcel
- Excel 輸入步驟Excel
- Excel資料匯入Sql Server,部分數字為NullExcelSQLServerNull
- phpExcel實現Excel資料的匯入匯出(全步驟詳細解析)PHPExcel
- Oracle AWR 資料匯入/匯出的步驟Oracle
- vue匯出excel表格步驟以及易出錯點VueExcel
- SQL server資料匯入OracleSQLServerOracle
- .sql檔案匯入到sql server中SQLServer
- 保護SQL Server的十個步驟(轉)SQLServer
- [zt] SQL Server匯出匯入資料方法SQLServer
- SQL Server伺服器上需要匯入Excel資料的必要條件SQLServer伺服器Excel
- Excel資料匯入SQL Server2000的儲存過程ExcelSQLServer儲存過程
- asp.net 操作Excel表資料匯入到SQL Server資料庫ASP.NETExcelSQLServer資料庫
- Vue element-ui 裡面的table匯出excel表格 步驟VueUIExcel
- 全庫匯入的一般步驟
- 使用Oracle SQL Developer匯入Excel資料OracleSQLDeveloperExcel
- 用SQL語句匯入excel資料SQLExcel
- SQL Server快速匯入資料分享SQLServer
- SQL Server海量資料匯入方法SQLServer
- SQL Server匯入、匯出、備分資料方法SQLServer
- SQL Server最佳化方法、步驟和技術SQLServer
- SQL Server 匯出Excel有換行的解決方法SQLServerExcel
- 電腦製作excel表格全步驟 excel製作表格的步驟教程Excel
- SQL Server海量資料匯入的方法SQLServer
- vue excel匯入匯出VueExcel
- excel匯入工具Excel
- 資料庫SQL Server DAC 匯入匯出資料到SQL Azure問題資料庫SQLServer
- SQL Server 2008匯入、匯出資料庫SQLServer資料庫
- 在SQL Server資料庫中匯入匯出資料SQLServer資料庫
- SQL Server資料匯入匯出工具BCP詳解(轉)SQLServer
- 使用SqlBulkCopy匯入資料至MS SQL ServerSQLServer
- SQL Server Bulk Insert批量資料匯入SQLServer
- Struts2匯出Excel步驟及問題彙總(二) 下載Excel
- SQL Server 遷移至MySQL 關鍵步驟的梳理總結ServerMySql
- 一次SQL Server遷移到Oracle的實施步驟SQLServerOracle