Это не проблема OracleDataAdapter, это проблема вашей хранимой процедуры. Скорее всего, ваша хранимая процедура выглядит следующим образом:
create or replace function my_cool_proc
return varchar2
is
begin
return 'Wow look at this time: '||sysdate||chr(13)||chr(10)||'now that is one cool datetime';
end;
В этом случае sysdate
(тип данных date
) преобразуется в varchar2
благодаря правилам неявного преобразования Oracle при объединении (||
)оператор) строки. Когда вы запускаете хранимую процедуру из SQL Developer, параметры NLS сеанса вашего SQL Developer применяются для преобразования значений date
в значения varchar2
. Когда вы запускаете хранимую процедуру из кода .NET, для указанного преобразования применяются параметры NLS драйвера базы данных .NET.
Чтобы сделать возвращаемое значение стабильным, необходимо преобразовать (= отформатировать) значение sysdate
встрока перед объединением строк в вашей хранимой процедуре, т. е.
create or replace function my_cool_proc
return varchar2
is
begin
return 'Wow look at this time: '||to_char(sysdate, 'yyyymmdd hh24:mi:ss')||chr(13)||chr(10)||'now that is one cool datetime';
end;