2008年链接服务器上具有句点的列名称

时间:2013-02-14 23:41:17

标签: sql sql-server sql-server-2008 sql-server-2005 linked-server

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

我查过这篇文章:

Selecting a column with period in the column name 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中的拼写错误。 错字不是问题

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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

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

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