Даты инвертируются при сохранении через SSIS в Oracle Database - PullRequest
0 голосов
/ 04 марта 2011

Хотя я сохраняю даты SSIS в таблице оракулов .Я использую Выполнить задачу SQL , когда я просматриваю даты в службах SSIS, это выглядит, например, «01 -APR-2008»но когда он хранится в базе данных oracle, он сохраняет его как '08 -APR-01 ', так как вы можете видеть, что даты инвертированы, и у меня нет никакого способа контролировать поведение здесь.

У любого есть идея,я могу опубликовать всю конфигурацию, если требуется,Задача «Выполнение SQL» имеет запрос, подобный приведенному ниже:

"INSERT INTO Test.TimeTable (TIME_DIM_ID)
select '"+(DT_STR, 50,1252) @[User::ReadingDate] +"'
from dual"

, где @User :: ReadingDate - переменная типа данных DateTime ,и его значение (01-APR-08 9:38:27 PM) это просто значение по умолчанию, переменная заполняется другой задачей, а затем даты в переменной выбираются задачей EXECUTE SQL, но в точке хранения они инвертируются.

1 Ответ

2 голосов
/ 04 марта 2011

Можете ли вы показать запрос, который используется в задаче sql?

Если вам известен формат даты, поступающей в базу данных, вы всегда должны вводить дату соответствующим образом. (Я предполагаю, что вход поступает в виде строки).

поэтому вместо '01 -APR-2008 'используйте to_date ('01 -APR-2008', 'DD-MON-YYYY') (не полагайтесь на параметры NLS сеанса)

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