Я надеюсь, что это простой, так как это мой первый WPF с Oracle 11g (версия 11.2). заявление.Получение значения даты из хранимой процедуры Oracle с использованием ODP.NET
Я могу вызвать хранимые процедуры Oracle из своего кода приложения WPF и получить параметры вывода (int и string), однако, когда я пытаюсь получить значение даты, я просто получаю следующее значение 01/01/0001 00:00:00
, которое предлагает дату на самом деле не возвращается?
Хранимая процедура отлично работает в Oracle, то есть возвращает дату.
Вот мой код:
string sql = "pkge_intautotest.ScheduleNextRun";
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.BindByName = true;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
DateTime outSchedDateTime;
cmd.Parameters.Add("outSchedDateTime", OracleDbType.Date, ParameterDirection.Output);
cmd.ExecuteNonQuery();
//Get the values output by the stored procedure
outSchedDateTime = (DateTime)cmd.Parameters["outSchedDateTime"].Value;
conn.Close();
conn.Dispose();
А вот моя (упрощенный) хранимая процедура:
PROCEDURE ScheduleNextRun (inIntno NUMBER, outCaseno OUT NUMBER, outSchedDateTime OUT DATE) AS
BEGIN
DECLARE
sched_datetime DATE;
init_diary_id DIARY.ID%TYPE;
v_proceed PLS_INTEGER;
BEGIN
-- Get the schedule time for 4 minutes from now
SELECT TO_DATE(SYSDATE + 4/(24*60)) INTO sched_datetime FROM dual;
outSchedDateTime := sched_datetime;
END;
END ScheduleNextRun;
Я буду продолжать смотреть на это, но любые идеи, что я делаю неправильно?
Привет, спасибо JMK, это намного лучше. Я вижу дату сейчас, но не временную часть, например. '08/08/2013 00:00:00 'для переменных rawDateTime и outSchedDateTime. – mulkraj
Можете ли вы опубликовать пример DateTime, который вы вернетесь из Oracle, чтобы мы могли видеть формат? – JMK
Да, это то, что я получаю в Oracle: «08-08-2013 11:08:59». Приветствия. – mulkraj