2

我正在使用 SQL Server 2005 并尝试从 SQL Server 2008 链接服务器中选择包含句点的列。

我检查了这篇文章:

选择列名称中带有句点的列 SQL Server

但我没有得到同样的错误。

这是代码

    INSERT INTO [Linked_Server].Database.dbo.Table
           ([Column_Name], [Column.Name])
    SELECT 
           [Column_Name], [Column.Name] FROM local_table

我可以从本地表中选择,但是当我尝试从链接服务器上的同一个表中选择相同的列时,我收到此错误:

    Msg 207, Level 16, State 1, Line 3
    Invalid column name 'Column.Name'.

编辑:修正了“[Column_Name)”的错字。然而,这只是在 stackoverflow 中的一个错字。 错字不是问题

4

2 回答 2

3

在 Column_Name 之后替换 ) on ] 并再次尝试

INSERT INTO [Linked_Server].Database.dbo.Table
       ([Column_Name], [Column.Name])
SELECT [Column_Name], [Column.Name] FROM local_table
于 2013-02-14T23:54:20.553 回答
0

看起来这是 SQL Server 2008 中链接服务器的一个已知问题。我在研究时看到了这个页面,但我没有看到底部的解决方法部分。

我最终将查询更改为使用 OPENQUERY,现在它可以工作了。

http://support.microsoft.com/kb/972856

于 2013-02-19T18:05:54.660 回答