在SSMS 2012中,我已经在SERVERA中创建了一个链接服务器到SERVERB,我已经成功地使用四部分引用向DBB数据库中的多个表编写查询。
当我试图用一个简单的select语句引用'DBB'数据库中的'Charge'表时:
SELECT * FROM [SERVERB].[DBB].dbo.Charge
我得到以下消息:
Msg 207, Level 16, State 1, Line 1 . column name 'charge_type'无效
该列在DBB数据库中作为'Charge_Type'存在,但是,SERVERB的排序是不区分大小写的,而SERVERA的排序是区分大小写的(我认为这就是我的问题所在)。
有人遇到过这个问题吗?
(对于可能在这里结束的人)
您可以动态更改排序规则。在这种情况下,您必须在选择查询中写入列名的名称。我的意思是,而不是像这样写查询:
SELECT * FROM [SERVERB].[DBB].dbo.Charge
这样写查询:
SELECT Charge_Col1, Charge_Col2, Charge_Type COLLATE Latin1_General_CI_AS FROM [SERVERB].[DBB].dbo.Charge
有另一个类似的帖子:我们如何选择两列有不同的排序