ИСПРАВЛЕНИЕ: Microsoft SQL Server-драйвер JDBC 3.0 возвращает значения неверную дату с JRE 1.7

Переводы статьи Переводы статьи
Код статьи: 2652061 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Рассмотрим следующий сценарий:
  • У вас Java-приложение, использующее JDBC-драйвер Microsoft SQL Server версии 3.0 и среды выполнения Java версии 1.7 (JRE 1.7) для подключения к базе данных SQL Server.
  • Чтобы получить дату из базы данных приложение использует любой из следующих трех функций:
    • getDate()
    • getTimeStamp()
    • getDateTimeOffset()
  • Тип данных в базе данных SQL ServerДАТА, DATETIME2, или DATETIMEOFFSET.
В этом случае функция возвращает значение неверную дату.

Заметки
  • Эта проблема возникает только при более поздней, чем с 1582 года по григорианскому календарю, возвращаемое функцией значение даты.
  • Эта проблема возникает, если приложение использует один из следующих:
    • Драйвер JDBC Microsoft SQL Server версии 3.0 и JRE 1.5 или JRE 1.6
    • Microsoft SQL Server JDBC драйвер версии 2.0 и JRE 1.7

Причина

Поведение функции, которые описаны в разделе «Проблема», зависит от календаря Java API-интерфейсы. Изменение в поведении этих API вызвал Microsoft SQL Server драйвер JDBC версии 3.0 возвращают неправильные значения.

Решение

Драйвер JDBC Microsoft SQL Server версии 3.0 была изменена таким образом, чтобы функции, описанные в разделе «Проблема» вернуть правильные значения, вне зависимости от версии JRE. Драйвер JDBC Microsoft SQL Server версии 4.0, также будет содержать это изменение.

Сведения об исправлении

Исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения проблемы, описанной в этой статье. Применение исправления только в тех системах, где наблюдается вышеописанная проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом Если эта проблема серьезно не влияет, рекомендуется отложить ее решение до выхода ближайшего пакета обновления, содержащего это исправление.

Если исправление доступно для загрузки, имеется раздел «Исправление доступно для загрузки» в верхней части статьи базы знаний. Если этот раздел не отображается, обратитесь в службу обслуживания клиентов корпорации Майкрософт и поддержки, чтобы получить данное исправление.

Примечание Если другие проблемы или необходимо устранить неполадки, возможно создать отдельный запрос на обслуживание. Расходы на обычные службы поддержки будут применяться дополнительные вопросы и проблемы, не связанные с данным исправлением, оплачиваются. Для получения полного списка телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос посетите следующий веб-узел корпорации Майкрософт:
условиям обслуживания
Примечание В форме «Исправление доступно для загрузки» отображаются языки, для которых доступно исправление. Если язык не отображается, это потому, что исправление для данного языка отсутствует.

Сведения об установке

Чтобы установить это исправление, выполните следующие действия.

WINDOWS
  1. Прочитайте файл license.txt этого исправления.
  2. Загрузите и используйте драйвер JDBC Microsoft SQL Server версии 3.0 для принятия данной лицензии.
  3. Загрузите sqljdbc_<version>файл _enu.exe, чтобы временный каталог.</version>
  4. Запустите sqljdbc_<version>_enu.exe файла.</version>
  5. При появлении запроса введите каталог для установки.
    Рекомендуется, чтобы распаковать файлы архива (ZIP), используя следующий каталог:
    %ProgramFiles%\Microsoft драйвер SQLServer JDBC 3.0
  6. После пакета распакована, откройте справочную систему JDBC, открывInstallationDirectory\Sqljdbc_ SQL Server-драйвер JDBC 3.0 \Microsoft<version>\<language>\help\default.htm. JDBC справочной системы отображаются в справочной системе веб-обозревателя.</language> </version>

UNIX
  1. Прочитайте файл license.txt этого исправления.
  2. Загрузите и используйте драйвер JDBC Microsoft SQL Server версии 3.0 для принятия данной лицензии.
  3. Загрузите sqljdbc_<version>файл _enu.tar.gz, чтобы временный каталог.</version>
  4. Для распаковки tar, упакованный, обратитесь к каталогу, где необходимо распаковать, а затем введите:
    gzip -d sqljdbc_<version>_enu.tar.gz</version>
  5. Для распаковки tar, переместите его в каталог, где нужно установить драйвер и типа:
    Смола sqljdbc_ - xf<version>_enu.tar</version>
  6. После пакета распакована, откройте справочную систему JDBC, открывInstallationDirectory\Sqljdbc_ SQL Server-драйвер JDBC 3.0 \Microsoft<version>\<language>\help\default.htm. JDBC справочной системы отображаются в справочной системе веб-обозревателя.</language> </version>


Сведения о замене исправлений

Данное исправление содержит предыдущих исправлений для драйвера JDBC Microsoft SQL Server версии 3.0.

Сведения о файле

Общая версия данного исправления содержит атрибуты файлов (или более поздними), приведенные в следующей таблице. Дата и время для файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, преобразуются в местное время. Чтобы узнать разницу между временем UTC и местным временем, следует использовать Часовой пояс Вкладка в Дата и время элемент панели управления.

Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформа
Sqljdbc.jarНе применимо 518,29408-Дек-201116: 05 Не применимо
Sqljdbc4.jarНе применимо 537,56608-Дек-201116: 05 Не применимо
Xa_install.SQLНе применимо 37,1208-Дек-201116: 05 Не применимо
Sqljdbc_xa.dll 3.0.1301.203253,74408-Дек-201116: 05 IA-64
Sqljdbc_xa.dll 3.0.1301.203131,37608-Дек-201116: 05 x 64
Sqljdbc_xa.dll 3.0.1301.203102,19208-Дек-201116: 05 x 86
Sqljdbc_auth.dll 3.0.1301.203175,40808-Дек-201116: 05 IA-64
Sqljdbc_auth.dll 3.0.1301.20387,34408-Дек-201116: 05 x 64
Sqljdbc_auth.dll 3.0.1301.20369,93608-Дек-201116: 05 x 86




Статус

Корпорация Майкрософт подтверждает, что это является проблемой в продуктах корпорации Майкрософт, перечисленных в разделе «Относится к».

Свойства

Код статьи: 2652061 - Последний отзыв: 5 января 2012 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server Java Database Connectivity Driver 3.0
Ключевые слова: 
kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbautohotfix kbmt KB2652061 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:2652061

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

 

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