2014-01-29 4 views
1

Я пытаюсь получить текущее время удаленного сервера с SQL Server 2012 с клиентской машины. У меня есть этот SQL-код:Получить удаленный SQL Server Дата/время

Select SYSDATETIME() as ServerTime 

Я думал, это было именно то, что я хотел, и так как я использовал машину разработки с моим SQL Server, он работал нормально, потому что я никогда не думал, что время, которое я получил, был мой собственный компьютер время. Тогда я узнал, что это не работает, если мне нужна дата/время удаленной машины. В любом случае, я могу получить дату/время удаленного сервера при запуске приложения? Спасибо.

+0

У вас есть сообщения об ошибке или почему вы не думаете, что это не работает? –

+0

"Возвращает значение datetime2 (7), которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server." - он должен работать. – Blorgbeard

+0

Почему вы не используете 'CURRENT_TIMESTAMP' – zzlalani

ответ

1
SELECT 'SYSDATETIME' AS FunctionName, SYSDATETIME() AS DateTimeFormat 
UNION ALL 
SELECT 'SYSDATETIMEOFFSET', SYSDATETIMEOFFSET() 
UNION ALL 
SELECT 'SYSUTCDATETIME', SYSUTCDATETIME() 
UNION ALL 
SELECT 'CURRENT_TIMESTAMP', CURRENT_TIMESTAMP 
UNION ALL 
SELECT 'GETDATE', GETDATE() 
UNION ALL 
SELECT 'GETUTCDATE', GETUTCDATE() 
UNION ALL 
SELECT 'SYSUTCDATETIME', SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30') 

Где +5:30 является IST

Выход:

enter image description here

Sql Working Fiddle

+1

Спасибо за ваш ответ, но он все равно не работает. У меня проблемы. У меня такая же строка соединения, я в этом уверен. Я могу запросить таблицы, но я не могу получить время сервера :( –

+0

@ chris_techno25 Я обновил свой ответ с этим –

+0

Он по-прежнему не работает; ( –

0

Святая корова, я получил его на работу всех ... Оказалось, что у меня есть значение по умолчанию для строки подключения. У меня также есть .ini-файл, содержащий строку подключения сервера. И я закончил использовать строку подключения по умолчанию. Остальная часть моего SQL работала, потому что я восстановил строку подключения сервера после получения времени сервера. Прошу прощения за все те неприятности, которые я вызвал. Я никогда не хотел спрашивать об этом, но я просто не мог найти решение до сих пор. Спасибо за твою помощь.

Смежные вопросы