Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Pomogite / 23 сообщений из 23, страница 1 из 1
23.04.2002, 18:05
    #32028594
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Pdskashite kak moshno sdelat sledyuzee:
Y menya est DTS v kotorom ya transfer row. Esli is 10 row 5 proshlo normalno, a ostalnue fail. Ya hochy chobu eti 5 kotorue fail sapisalis v txt file a vec' package exec.
...
Рейтинг: 0 / 0
23.04.2002, 18:56
    #32028596
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Смотрите в Transform Data Task в закладке Options установки для Exception file и Max error count
...
Рейтинг: 0 / 0
24.04.2002, 12:38
    #32028665
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Po vashei podskaske ya dolshna ystanovit max error i file name. A cho esli ya ne snau skolko predpoloshitelno oshibok y menya byset i vce ravno ya hochy transfer ostalnue row. Mogy li ya eto sdelat cherez VBActiveX? Esli da to kak? Sapsibo
...
Рейтинг: 0 / 0
24.04.2002, 12:46
    #32028666
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Установите максимально возможное значение - 9999 кажется. Другое дело, если у вас будет больше чем 9999 ошибок. Тогда IMHO придется Transformation Task использовать ActiveX Script для проверки текущей стоки добавляемых даных
...
Рейтинг: 0 / 0
24.04.2002, 18:36
    #32028695
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
No pri ispolsovanii etogo file sapisuvaetcya tolko error msg. Sama stroka ostaetcya ne isvestna. t.e. elsi eto bula oshibka na pervoi lini ili na decyatoi ya ne bydy etogo snat. Kak ysnat bolee konkretno na kakoi lini ono fail?
...
Рейтинг: 0 / 0
25.04.2002, 06:19
    #32028736
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Тогда вам придется в Transformation Task использовать ActiveX Script и самостоятельно анализировать каждую строку и решать куда ее добавлять - в базу или в файл ошибок.

Если же у вас ошибки возникают собственно в момент добавления(ссылочная целостность или другие ограничения) то IMHO нужно использовать Data Driven Query Task, в котором также анализировать но уже результат попытки добавления записи в тблицу(ы)
...
Рейтинг: 0 / 0
25.04.2002, 12:29
    #32028812
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Ispolsya v ActiveX DTSTransformstat_Ok i DTSTransformstat_Error po kakoito prichine ne rabotaet. T.e. ne hochet ponimat status.
Kak moshno ehse eto sdelat.
Ostalnoe rabotaet(otkrutie file i sapis info)
...
Рейтинг: 0 / 0
25.04.2002, 13:29
    #32028828
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
А почему DTSTransformstat_Error ? Ведь этот статус и без вас "получится"

IMHO лучше использовать DTSTransformStat_SkipRow
...
Рейтинг: 0 / 0
25.04.2002, 16:16
    #32028847
SARDINKA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Y MENYA EST LOOKUP QUERY COTORAYA VOSVRAZHAET SNACHENUE. ESLI ETO '0' TO DTSTRANSFORMSTAT_INSERTQUERY, ESLI ETO > 0 TO UPDATEQUERY. V OBOIH SITAYZIYAH ESLI UPDATE ILI INSERT FAIL MNE NYSHNO SKIP ETY ROW I PEREITI NA DRYGYU. YA NESNAU KAK ETO SDELAT. KA YSNAT STATUS KOTORUI VOSVRASHET INSERT/UPDATE QUERY? PODSKASHITE.....ESLI ZNAETE TO POMOGITE NAPISAT ETO
...
Рейтинг: 0 / 0
26.04.2002, 08:04
    #32028906
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Не могу ничего посоветовать, т.к. не знаю возможно ли такое в Data Driven Query.

Может рассмотреть такой алгоритм
- добавляем все двнные во промежуточную таблицу
- курсором пытаемся добавить/обновить соответствующую запись в главной таблице. При успешной попытке удаляем запись в промежуточной таблице
- все записи, которые останутся в промежуточной таблице и есть "неправльные" записи. Обрабатываем их далее в зависимости от потребностей.
...
Рейтинг: 0 / 0
26.04.2002, 17:30
    #32028987
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Delo v tom cho ya gonyau dannue is SQL na AS400 i kakie mogyt but' prichinu chobu row fali ya ne snau. A kak naschet DTSTransformStat_Error??? Kak ono rabotaet??? Ili she est kakie-to drygie statusu (DTSTransformStat). Moshno li polychit value obratno is DTSTransformStat is ysnat bulo li ono fail ili suscess????
...
Рейтинг: 0 / 0
27.04.2002, 11:31
    #32029060
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Константы DTSTransformStat_* используются для возврата кода завершения ИЗ ActiveX.

Теоритически могу посоветовать - может быть помогут Post Row Transform Function: On insert success - On insert failure
BOL - Data Transformation Services - DTS Package Elements - DTS Tasks - Tasks That Transform Data - Multiphase Data Pump Functionality

BOL - Using the SQL Server Tools - User Interface Reference - DTS Designer Help - Transformation Options (Phases Tab)
...
Рейтинг: 0 / 0
29.04.2002, 12:46
    #32029173
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
ya ne ponyala cho vu putaetes' mne podskasat. Ne mogli bu vu ob'yasnit podrobnee.
...
Рейтинг: 0 / 0
29.04.2002, 15:30
    #32029199
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Да, я тоже чувствую, что мы вроде бы начинаем говорить о разных вещах.
Может быть начнем с начала ?

1. Версия SQL (поскольку у меня под рукой SQL2000)

2. В вашей Data Driven Query Task
- сколько Lookups query
- сколько User query
- какой запрос вызывает ошибку

3. Пример ActiveX скрипта в закладке Transformation из Data Driven Query Task
...
Рейтинг: 0 / 0
29.04.2002, 17:48
    #32029209
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Itak Moya DDQ imeet:
1.Lookup query -1
2.Insert query -1
3.Update query -1
VBActiveX(transformation) logic:
Function Main
If lookup=1 then
DTSTransformStat_UpdateQuery
else
DTSTransformStat_InsertQuery
End if
End function.
Kak sdelat' esli odna is row v transfer fail (ne savisimo to li v insert or update)ispolzovat DTSTransformstat_SkipRow? (T.k. potom ya sapishy ety row v file).Elsi nyshno to mogy prislat bolee podrovnui VBActiveX, no v osnovnom eto validation.
...
Рейтинг: 0 / 0
02.05.2002, 07:49
    #32029378
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Сначала немного теории. Присваивание возвращаемому значению функции какой-либо константы DTS на запуск запроса, означает что этот запрос будет запущен после окончания ActiveX скрипта. Управление обратно в скрипт на этом шаге передано не будет.

Т.е. в скрипте вида

Function Main
If lookup=1 then
Main = DTSTransformStat_UpdateQuery
else
Main = DTSTransformStat_InsertQuery
End if

End function

присваивание Main определяет какой запрос(UpdateQuery или InsertQuery) будет запущен после окончания скрипта.

Для определения собственно результатов работы запроса для текущего шага существуют Post Row Functions. Найти их можно так
Data Driven Query Task - Transformations - ActiveX Script Transformation Properties - Phases
Есть три вида Post Row Function - On insert success, On insert failure, On transform failure.
...
Рейтинг: 0 / 0
02.05.2002, 18:02
    #32029403
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
To cho vu mne sovetyete teoreticheski dolshno podoiti. No ya ne ponimau kak eto moshno sdelat. T.e. kak eto facticheski napisat (po ideee etot code dolshen nahoditcya posle DTSTransforma_insertquery or DTSTransforma_Updatequery )????
...
Рейтинг: 0 / 0
02.05.2002, 19:31
    #32029409
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
(po ideee etot code dolshen nahoditcya posle DTSTransforma_insertquery or DTSTransforma_Updatequery

Не совсем так. Этот код оформляется ввиде отдельной функции(ий) и, например, для On insert failure указывается имя этой функции.
...
Рейтинг: 0 / 0
02.05.2002, 19:47
    #32029411
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Посмотрите картинку здесь
BOL - Data Transformation Services - DTS Package Elements - DTS Tasks - Tasks That Transform Data - Multiphase Data Pump Functionality
На ней все наглядно изображено
...
Рейтинг: 0 / 0
03.05.2002, 12:44
    #32029438
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Y cho-to poteryala vashy ideu. K soshaleniu ya ne ponyala vashego otveta. Esli moshno to obyasnite...
...
Рейтинг: 0 / 0
03.05.2002, 13:55
    #32029444
Ольга
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Dear Sardinka!
Ваша задача, как я понимаю, определить почему "is 10 row 5 proshlo normalno, a ostalnue fail." "Delo v tom cho ya gonyau dannue is SQL na AS400 i kakie mogyt but' prichinu chobu row fali ya ne snau"

Внимательно посмотрите все поля, особенно на предмет
1. NULL и NOT NULL
2. DATATIME
3. текстовые поля на предмет COLLATION
и тогда, может не придется на этот раз писать On insert failure
Но, если гонять данные постоянно, то писать все же придется....
...
Рейтинг: 0 / 0
03.05.2002, 13:58
    #32029445
Ольга
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Прошу прощения,
2. DATETIME -тип данных
...
Рейтинг: 0 / 0
03.05.2002, 15:31
    #32029452
sardinka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pomogite
Y menya est vce eti conversion na vcyakiy slychai ya dolsna sdelat error support.
Kak naprimer y vas podershivaetcya error support v vashei DTS?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Pomogite / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]