Обновление до SQL Server 2005: не удается вставить QNAN в плавающий столбец? - PullRequest
2 голосов
/ 22 января 2009

Справочная информация:
Я работаю над миграцией с SQL Server 2000 на SQL Server 2005. Это предоставляет службу БД для приложения C ++, которое использует собственный клиент SQL для связи с SQL Server через ODBC.

Проблема:
Я пытаюсь вставить QNAN в плавающий столбец в базе данных. В моем приложении это значение сохраняется как двойное (значение: 1. # QNAN00000000000) и отправляется в базу данных в качестве параметра. Это не было проблемой в SQL Server 2000, но тот же код дает мне следующую ошибку в SQL Server 20005:

Входящий поток табличных данных (TDS) протокол удаленного вызова процедур (RPC) Поток неверен. Параметр 3 (""): Предоставленное значение не является действительным экземпляр типа данных float. Проверить исходные данные для недопустимых значений. Примером неверного значения являются данные числовой тип со шкалой больше точность.

Вопрос
Можно ли заставить SQL Server 2005 принимать QNAN? Если да, то как?

Ответы [ 2 ]

2 голосов
/ 22 января 2009

Согласно ответу на этот отчет об ошибке , SQL Server 2005 не принимает NaN или бесконечность, и это, очевидно, было разработано (из-за проблем сортировки / сравнения).

2 голосов
/ 22 января 2009

QNAN не поддерживаются в SQL Server 2005. Ни один из них не является

Технически говоря, они также не поддерживаются в SQL 2000. Тем не менее, они работали.

Возможно, вы захотите просмотреть следующее:

DATA_PURITY Проверяет в соответствии с SQL 2005 http://support.microsoft.com/kb/923247

Еще одно место, которое вы можете посетить: http://www.mssqltips.com/tip.asp?tip=1119

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...