Поставщик MSDASQL неправильно Handles отрицательно масштабируемого SQL_NUMERIC_STRUCT значения

Переводы статьи Переводы статьи
Код статьи: 274604 - Vizualiza?i produsele pentru care se aplic? acest articol.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Развернуть все | Свернуть все

Проблема

При чтении плохо масштабируется числовых значений из драйвера ODBC с помощью поставщика OLE DB для ODBC (MSDASQL) с помощью объектов данных ActiveX (ADO)adUseClientПеречисление курсора, возвращаются значения, усекаются.

Решение

Чтобы устранить эту проблему, получите последний пакет обновления для MDAC 2.5 корпорации Майкрософт. Дополнительные сведения см. в следующей статье базы знаний Майкрософт::
293312ИНФОРМАЦИЯ: Как получить последние версии MDAC 2.5 с пакетом обновления
Английская версия данного исправления содержит версии файлов, приведенные в следующей таблице, или более поздние.. Дата и время для файлов указаны во всеобщем скоординированном времени (UTC).. При просмотре сведений о файле, время изменяется на местное.. Чтобы узнать разницу между временем по Гринвичу и местным временем,Часовой поясвкладки в окне «Дата и время» панели управления.
   Date         Time   Version      Size     File Name
   --------------------------------------------------------------------
   31-Jan-2001  18:20  2.53.6131.0  303,376  Msdasql.dll
   31-Jan-2001  18:18  2.53.6131.0   16,384  Msdasqlr.dll
   31-Jan-2001  18:20  2.53.6131.0   78,096  Msdatl2.dll
   31-Jan-2001  18:20  2.53.6131.0   53,520  Msdatt.dll
   28-Feb-2001  18:00  1.10.101.0   484,408  Q277033_w2k_sp3_x86_en.exe
				

Временное решение

Чтобы обойти эту проблему, используйтеadUseServerПеречисление для ADOCursorLocationсвойства вместоadUseClient.

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в начале данной статьи..Во-первых, этой проблемы появилось в MDAC 2.5 с пакетом обновления 3.

Дополнительная информация

При открытии объекта ADOНабор записейобъект для любого драйвера ODBC, поставщик OLE DB для ODBC (MSDASQL) используется службы преобразования OLE DB для ODBC. Если запрашивается результирующий набор содержит числовое поле, а при использованииadUseClientПеречислениеCursorLocationсвойство, ADO использует числовое поле значение в структуру OLEDB DB_NUMERIC.

Если основной драйвер ODBC сообщает, что ODBC 3.0 совместимые, MSDASQL пытается выполнить привязку к SQL_NUMERIC_STRUCT значения напрямую вместо привязки в строку символов. Если SQL_NUMERIC_STRUCT, драйвер возвращает отрицательное масштаб и клиента, поставщика MSDASQL запрашивает значение DB_NUMERIC, MSDASQL DB_VARNUMERIC значение сначала преобразуется SQL_NUMERIC_STRUCT, а затем преобразует значение DB_NUMERIC. Окончательного преобразования в значение DB_NUMERIC обрабатывается неправильно, если масштаб является отрицательным, что приводит к усечению значения.

Свойства

Код статьи: 274604 - Последний отзыв: 21 февраля 2014 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
Ключевые слова: 
kbnosurvey kbarchive kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix kbmt KB274604 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:274604

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com