2

我正在尝试创建一个从 2005 到 2008 Microsoft SQL Server 的链接服务器。我定期为 2005 实例执行此操作,但这是我进入 SQL 2008 漫长旅程的第一步。我能够像任何其他链接服务器一样创建链接服务器,我没有收到任何错误,但是任何时候我尝试使用链接任何东西的服务器(例如,一个简单的“SELECT *”语句)我在 SSMS 中收到此错误:

“链接服务器 {链接服务器名称} 的 OLE DB 提供程序“SQLNCLI”返回消息“强制转换规范的字符值无效”。

关于在 2005 实例中创建到 2008 实例的链接服务器,我需要了解什么?

4

4 回答 4

2

结果是我一直选择测试的表,2008 年服务器上最重要的业务表,每个表都有“地理”数据类型的字段,这是 2008 年新增的。在没有此数据类型的其他表之一上测试查询时,查询正常工作。

所以......你知道......毕竟是......“演员规范的无效字符值”。

于 2009-06-17T14:24:57.990 回答
0

我怀疑这可能是一个整理问题。

检查排序规则在服务器、数据库和表级别是否相同。

要检查 detault 服务器排序规则,请运行以下 T-SQL:

exec sp_helpsort

要检查 Databasea 排序规则,请执行以下操作:

SELECT DATABASEPROPERTYEX('DatabaseName', 'Collation') SQLCollation;
于 2009-06-12T22:13:13.493 回答
0

它要么是排序规则(我的第一个猜测),要么是 Unicode 转换(VARCHAR 与 NVARCHAR)。我会支持约翰,但我没有足够的声誉。

于 2009-06-17T11:34:36.537 回答
0

是否有一种特殊的方式可以查询链接服务器上具有地理字段的表而不会出现错误?

我有同样的问题,我需要查询链接服务器,并且一些表中有地理字段,即使我只选择一个文本字段,我也会收到错误。我能想到的唯一解决方法是将地理字段拆分到新表中,以便对表的查询不会中断。

于 2011-07-16T03:09:22.373 回答