插入Excel“链接服务器”时SQL Server,“无效的列名称”错误

时间:2014-03-27 18:07:19

标签: sql-server excel oledb

我有一个简单的Excel电子表格文档(运行Office 2013),我使用“Microsoft Office 15.0 Access数据库引擎OLE DB提供程序”作为数据库。

我可以使用MS SQL Server Management Studio 2012连接到此,我甚至可以从命名范围“员工”中选择数据。

SELECT *
  FROM [X]...[Employee]
GO

结果:

ID  Name    Description Salary
1   Rob     Cool        1
2   Bob     Awesome     2
3   Robert  DUDE!       3

现在我想在这里插入数据。所以我写道:

INSERT INTO [X]...[Employee]
           ([ID]
           ,[Name]
           ,[Description]
           ,[Salary])
     VALUES
           (4
           ,"John"
           ,"Boss"
           ,500)

这实际上主要由SQL Server Management Studio生成。当我运行这个时,我得到:

Msg 207, Level 16, State 1, Line 8
Invalid column name 'John'.
Msg 207, Level 16, State 1, Line 9
Invalid column name 'Boss'.

知道我做得不好吗?

1 个答案:

答案 0 :(得分:22)

您使用的是双引号而不是单引号。 IE:

INSERT INTO [X]...[Employee]
       ([ID]
       ,[Name]
       ,[Description]
       ,[Salary])
 VALUES
       (4
       ,'John'
       ,'Boss'
       ,500)