«Недопустимое значение символа для спецификации приведения» для связанного сервера SQL 2008 в экземпляре 2005 - PullRequest
2 голосов
/ 13 июня 2009

Я пытаюсь создать связанный сервер из Microsoft SQL Server 2005-2008. Я делаю это регулярно для экземпляров 2005 года, но это первый шаг моего долгого пути в SQL 2008. Я могу создать связанный сервер, как и любой другой связанный сервер, я не получаю никаких ошибок, однако каждый раз, когда я пытаюсь использовать связанный сервер для чего-либо (простой оператор "SELECT *", например) Я получаю эту ошибку в SSMS:

"Поставщик OLE DB" SQLNCLI "для связанного сервера {имя связанного сервера} возвратил сообщение" Недопустимое значение символа для спецификации приведения "."

Что мне нужно знать о создании связанного сервера с экземпляром 2008 в экземпляре 2005?

Ответы [ 4 ]

2 голосов
/ 17 июня 2009

Получаются таблицы, которые я выбрал для тестирования, наиболее важные для бизнеса таблицы на сервере 2008 года, у каждой из которых были поля типа данных "география", что является новым для 2008 года. этот тип данных запрос работает правильно.

Итак ... вы знаете ... это было ... "Недопустимое значение символа для спецификации приведения".

0 голосов
/ 16 июля 2011

Был ли какой-то конкретный способ, которым вы могли запросить таблицу на связанном сервере, который имел поля географии, и не получить ошибку?

У меня та же проблема, когда мне нужно запросить связанный сервер, и в некоторых таблицах есть поля географии, и даже если я выберу только текстовое поле, я получу сообщение об ошибке. Единственный обходной путь, о котором я могу подумать, - это разделить поля географии на новые таблицы, чтобы запросы к таблицам не прерывались.

0 голосов
/ 17 июня 2009

Это либо сопоставление (мое первое предположение), либо преобразование Unicode (VARCHAR vs NVARCHAR). Я бы проголосовал за Джона, но мне не хватает репутации.

0 голосов
/ 13 июня 2009

Я подозреваю, что это может быть проблемой сопоставления.

Убедитесь, что параметры сортировки одинаковы на уровне сервера, базы данных и таблицы.

Чтобы проверить параметры сортировки автономного сервера, запустите следующий T-SQL:

exec sp_helpsort

Чтобы проверить сортировку базы данных, выполните следующие действия:

SELECT DATABASEPROPERTYEX('DatabaseName', 'Collation') SQLCollation;
...