Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 DTS: глупейший видимо вопрос  [new]
Гарилка
Guest
А как, используя перенос через DTS, решить проблему с полями с IDENTITY?
Сейчас использую перенос ряда таблиц через MS ACCESS между двумя базами ( серверами )...
Таблицы связаны по ключам, которые автогенерируются ( поля ключей с IDENTITY )...Так вот когда потом подгружаем файл в другую базу, то счетчик начинает выдавать новые значения и все сбивается....
Чувствую, что разгадка на поверхности, но вот найти не получается...

Пробовал добавить в пакет "Execute SQL Task"-и c SET IDENTITY_INSERT event ON, чего-то не выходит...Да и порядок удручает...Почему-то все эти элементы в конце запускает при выполнении пакета целиком...

Заранее огромное спасибо...Уже несколько дней бьюсь над задачей :(
11 фев 06, 12:33    [2346395]     Ответить | Цитировать Сообщить модератору
 Re: DTS: глупейший видимо вопрос  [new]
BrokenPot
Member

Откуда: Киев
Сообщений: 1405
Гарилка

Пробовал добавить в пакет "Execute SQL Task"-и c SET IDENTITY_INSERT event ON, чего-то не выходит...

Чего именно не выходит?
Гарилка

Почему-то все эти элементы в конце запускает при выполнении пакета целиком...

Какие элементы? Элементы чего? Степы?
11 фев 06, 13:00    [2346424]     Ответить | Цитировать Сообщить модератору
 Re: DTS: глупейший видимо вопрос  [new]
Гарилка
Guest
Не выходит след...
Пытался занесение из акцеса разбить на три пекеджа (так как со степами чего-то не разобрался ) и запускать их по очереди...
в первый включил SET IDENTITY_INSERT ON
во второй непосредственно перенос (через TransForm Data Task)
в третий - SET IDENTITY_INSERT OFF
произошло смещение ключей



под элементами имел ввиду степы, ага....как их упорядочить-то....
11 фев 06, 13:07    [2346435]     Ответить | Цитировать Сообщить модератору
 Re: DTS: глупейший видимо вопрос  [new]
BrokenPot
Member

Откуда: Киев
Сообщений: 1405
Там такой пунктик в меню есть: Workflow. Выделяешь сначала первый степ, потом, удерживая shift, выделяешь второй и из менюхи выбираешь нужное.

Там три варианта: по окончании, по успешном окончании, по ошибочном окончании.
11 фев 06, 13:13    [2346443]     Ответить | Цитировать Сообщить модератору
 Re: DTS: глупейший видимо вопрос  [new]
Гарилка
Guest
Благодарю....А с INDENTITY как быть? или это из-за того, что в разных пакетах выполнял был такой эффект?
11 фев 06, 14:47    [2346567]     Ответить | Цитировать Сообщить модератору
 Re: DTS: глупейший видимо вопрос  [new]
BrokenPot
Member

Откуда: Киев
Сообщений: 1405
Может быть, и из-за того...

У меня был случай (который я так и не победил), когда идентити не хотело отключаться, хотя соотв. команда was executed successfully.
11 фев 06, 17:34    [2346725]     Ответить | Цитировать Сообщить модератору
 Re: DTS: глупейший видимо вопрос  [new]
Гарилка
Guest
Переделал....Порядок шагов задать удалось, а вот с идентити так и не выходит...Эх...
11 фев 06, 18:09    [2346750]     Ответить | Цитировать Сообщить модератору
 Re: DTS: глупейший видимо вопрос  [new]
BrokenPot
Member

Откуда: Киев
Сообщений: 1405
В Execute SQL Task записать отключение идентити. При этом помнить, что отключить ее можно только для одной таблицы. Поэтому в другой ExecuteSQL записать включение идентити. И так - для каждой таблицы.
13 фев 06, 09:25    [2348485]     Ответить | Цитировать Сообщить модератору
 Re: DTS: глупейший видимо вопрос  [new]
Glory
Member

Откуда:
Сообщений: 104760
Гарилка
Не выходит след...
Пытался занесение из акцеса разбить на три пекеджа (так как со степами чего-то не разобрался ) и запускать их по очереди...
в первый включил SET IDENTITY_INSERT ON
во второй непосредственно перенос (через TransForm Data Task)
в третий - SET IDENTITY_INSERT OFF
произошло смещение ключей



под элементами имел ввиду степы, ага....как их упорядочить-то....

Хм. Вообще-то в самой TransformationTask есть крыжик

Enable identity insert

Allow explicit values to be inserted into the identity column of a table (SQL Server only). This option is available only if an identity column is detected. An identity column is defined as having a data type of bigint, decimal, integer, numeric, smallint, or tinyint, with the Identity property for the column set to Yes. This option is available only if you enable Use fast load.
13 фев 06, 11:56    [2349293]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить