Получить SYSDATE из базы данных Oracle с помощью NHibernate или LINQ - PullRequest
0 голосов
/ 22 мая 2019

Справочная информация

Я работаю над задачей, чтобы заставить службу получать дату / время целевой БД Oracle, а затем использовать эту дату в качестве полученной даты / временной отметкивходящие данные.Цель состоит в том, чтобы гарантировать, что все хранимые данные максимально точны с точки зрения полученной даты.Насколько я понимаю, это значение можно получить, запросив DUAL для этого значения следующим образом: SELECT SYSDATE FROM DUAL или SELECT SYSTIMESTAMP FROM DUAL.Сервис, с которым я работаю, использует настраиваемый NHibernate для большинства своих вызовов базы данных.Я знаю, что могу также использовать запросы LINQ для достижения своих потребностей.

К сожалению, большая часть моих усилий была напрасной.

Попытки решения

Я пытался использовать Google в целом, чтобы увидеть, есть ли у кого-нибудь простой пример запроса LINQ, сравнимый с приведенным выше заявлением, но все это зашло в тупик.Несмотря на мои усилия, я также был бесплоден в своих попытках найти ответы на вопросы, найденные здесь на stackoverflow.

Я также изучил создание хранимой процедуры и сумел создать нечто, что работает как-то:

create or replace PROCEDURE    GET_SYSDATE
( SYSTEM_DT OUT SYS_REFCURSOR )
IS
BEGIN
    OPEN SYSTEM_DT FOR SELECT SYSDATE FROM DUAL;
END GET_SYSDATE;

Однако, когда я пытаюсь вызвать его из приложения, вот так:

var returnedDt = _unitOfWork.ExecuteStoredProcedure("GET_SYSDATE");

Я сталкиваюсь с ошибкой "identifier 'GET_SYSDATE' must be declared".

Вопрос

Кто-нибудь знает простой или лучший способ получить SYSDATE / SYSTIMESTAMP из DUAL, который я могу использовать в C # или NHibernate?

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