2013-11-03 51 views
0

我用這,如何從Excel 2010中的數據導入到SQL表

Insert into smst 
(id,mobile,day,month,year,time,model,imie1,imie2,FullMessage) 
select * 
FROM OPENROWSET 
('Microsoft.Ace.OLEDB.14.0','Excel 14.0;Database=L:\SMS.xlsx;HDR=YES' 
, 'SELECT id,mobile,day,month,year,time,model,imie1,imie2,FullMessage 
FROM [Sheet2]') 

能否請您幫助查找錯誤?

SQL錯誤:

1064 - 你在你的SQL語法錯誤; ('Microsoft.Ace.OLEDB.14.0','Excel 14.0;數據庫= L:\ SMS.xlsx; HDR = YES','選擇我'時使用正確語法對應的MySQL服務器版本的手冊「在1號線

我使用Excel 2010中

回答

0

就我個人而言OPENROWSET是特定MSSQL關鍵字,你似乎在使用MySQL更換select *FROM OPENROWSETVALUES,你應該是好去:

Insert into smst 
(id,mobile,day,month,year,time,model,imie1,imie2,FullMessage) 
VALUES ('Microsoft.Ace.OLEDB.14.0','Excel 14.0;Database=L:\SMS.xlsx;HDR=YES', 
'SELECT id,mobile,day,month,year,time,model,imie1,imie2,FullMessage 
FROM [Sheet2]') 
+0

值和選擇在相同的插入查詢?除非這是MySQL的特性,否則它通常不是有效的sql。 –

+0

請注意,「SELECT id [..]」是一個文字,實際上並不是查詢本身的一部分。 –

+0

感謝丹和西蒙, 是你的權利,我用我的SQL, 親愛的,其實, 我有一個Excel數據文件,我在MYSQL工作, 現在的問題是!這個Excel文件每天自動接收500個條目。並且我想通過替換文件excel文件自動更新SQL表。 什麼可能是最好的方式,請用示例建議 謝謝 Saleem – Kunwar

0

您是否嘗試過使用SQL數據導入嚮導在SQL Server中右鍵單擊數據庫並選擇任務 - >導入,並按照提示進行操作?您需要選擇Excel作爲源,並根據需要創建新表,將行附加到現有表,或者針對電子表格編寫自定義查詢。如果創建一個新表格時要小心數據類型,因爲嚮導將嘗試根據前100條記錄來最好地猜測數據類型,但您可以通過嚮導覆蓋此數據類型以適應您需要的任何數據類型。