我只是尝试将数据从Excel文件添加到SQL Server。我可以作为一个整体导入新表,但这意味着我必须再次分配索引。是否可以导入现有表格?
我看到another question与此类似,我尝试了那里的建议,点击“编写查询以指定数据传输”
我输入了以下查询
INSERT INTO Customer (Customer_Id, Customer_Name, Customer_Company, Address, Phone)
SELECT
A.[Column1], A.[Column2], A.[Column3], A.[Column4], A.[Column5]
FROM
OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Excel.xls;HDR=YES', 'select * from [Sheet1$]') AS A;
我真的不理解它的第二部分的语法..我在FROM
子句中遇到语法错误。
任何线索?
答案 0 :(得分:2)
从Excel导入数据以进行一次性导入的最简单方法是使用SQL Server导入和导出向导,如问题中的图片所示。您应选择Microsoft Excel作为数据源,指定电子表格的文件路径,并指定第一行是否包含列标题。然后指定目标SQL服务器和数据库。
从图表中选择的选项中选择另一个选项 - “从一个或多个表格或视图中复制数据”。然后,您可以在电子表格中选择要导入的工作表,并指定要将数据放入的目标表。重要的是,您可以编辑映射,以便电子表格中的数据进入表中的正确列 - 现有表或新表。在幕后,向导会生成与您问题中的脚本类似的脚本,但如果正确设置向导,则不必担心它。
从内存中你也可以将其转换为SSIS包,因此它是一个可重复的过程。
答案 1 :(得分:2)