SQL Server 2008 SYSDATETIME возвращает неправильную дату - PullRequest
3 голосов
/ 19 октября 2011

Когда я выполняю выборку с помощью SYSDATETIME(), это дает мне дату в прошлом!Три из функций даты дают мне даты в прошлом, и три дают мне правильную дату.См. Ниже.

SELECT SYSDATETIME(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE()  
==================================
2011-10-17 10:41:00.4521484
2011-10-17 10:41:00.4521484 -04:00
2011-10-17 14:41:00.4521484
2011-10-19 10:41:00.447
2011-10-19 10:41:00.447
2011-10-19 14:41:00.45

Я использую MS SQLServer 2008 и драйвер JDBC 3.0:

DatabaseProductName: MICROSOFT SQL SERVER
DriverName: Microsoft SQL Server JDBC Driver 3.0
getDatabaseProductName: Microsoft SQL Server
getDatabaseProductVersion: 10.50.1600
getDriverVersion: 3.0.1301.101
getDriverMajorVersion: 3
getDriverMinorVersion: 0
getDriverName: Microsoft SQL Server JDBC Driver 3.0

Есть идеи, что здесь происходит?

Ответы [ 4 ]

3 голосов
/ 09 апреля 2014

Драйвер Microsoft JDBC для SQL Server не поддерживает JRE 1.7. Я столкнулся с той же проблемой при работе с сервером MSSQL и JRE-1.7. Используйте исправление (работает для меня), выпущенное Microsoft, для решения вашей проблемы.

Исправление теперь доступно. http://blogs.msdn.com/b/jdbcteam/archive/2012/01/20/hotfix-available-for-date-issue-when-using-jre-1-7.aspx

Пожалуйста, используйте информацию о совместимости из вышеуказанной статьи и установите соответствующее исправление в соответствии с вашим приложением.

Надеюсь, это поможет :) Приветствия

1 голос
/ 02 мая 2012

Первые три функции в вашем запросе SYSDATETIME(),SYSDATETIMEOFFSET(),SYSUTCDATETIME() принимают дату и время компьютера , на котором работает экземпляр SQL Server .

И последние три CURRENT_TIMESTAMP,GETDATE(),GETUTCDATE() берут дату и время из операционной системы компьютера , на котором работает экземпляр SQL Server.

0 голосов
/ 04 октября 2013

Нашим решением этой проблемы было переключение на sqljdbc4-4.0.jar.

0 голосов
/ 09 января 2013

Мы столкнулись с этой же проблемой и смогли ее исправить, откатившись от Java 1.7 SDK до Java 1.6 (но не в версии _30, которая имеет проблемы).

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