Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
Здравствуйте, друзья!
Есть задача по переносу таблиц между базами. Таблицы разные. При иcпользовании DTS можно было сделать программную установку параметров задачи TransferDataTask. В скрипте ActiveX пишем
Dim goPackage
Dim oTask
Set goPackage = DTSGlobalVariables.Parent
Set oTask = goPackage.Tasks("TransferData")
Set oCustomTask = oTask.CustomTask
'Удаляем старые
For trans_count = oCustomTask.Transformations.Count to 1 step -1
Set oTransformation = oCustomTask.Transformations(trans_count)
For num = oTransformation.SourceColumns.Count to 1 step -1
oTransformation.SourceColumns.Remove(num)
Next
For num = oTransformation.DestinationColumns.Count to 1 step -1
oTransformation.DestinationColumns.Remove(num)
Next
oCustomTask.Transformations.Remove(trans_count)
Next

Set oTransformation = oCustomTask.Transformations.New("DTSPump.DataPumpTransformScript")
oTransformation.Name = "DTSTransformation_CopyObjects"
...
oCustomTask.Transformations.Add oTransformation
'и устанавливаем новые из переменных
oCustomTask.DestinationObjectName = "[" & DTSGlobalVariables("DB").Value & "].[dbo].[" & DTSGlobalVariables("TableName").Value & "]"

Собственно вопрос, а можно нечто подобное сделать в SSIS? в задаче сценария могу обратиться только или к переменным (Dts.Variables ) или к соединению (Dts.Connections )..
10 мар 15, 07:22    [17362464]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31420
werd00
Собственно вопрос, а можно нечто подобное сделать в SSIS?
В SSIS ничего не программируется. Можно в Script Task делать новый пакет програмно, и запускать, но это достаточно сложно.
10 мар 15, 09:12    [17362680]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
alexeyvg
werd00
Собственно вопрос, а можно нечто подобное сделать в SSIS?
В SSIS ничего не программируется. Можно в Script Task делать новый пакет програмно, и запускать, но это достаточно сложно.


Понял, спасибо. Печально.
Начал делать так: общий контекст пакета един (записи логов, проверка наличия строк в таблицах, проверка подключения и т.д. ), далее ветвление на разные задачи потока, в зависимости от имени таблицы, и опять слияние в одну ветку (те же логи завершения). Видимо так и придется.
10 мар 15, 09:28    [17362739]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
http://www.sqlis.com/sqlis/post/Flat-File-To-Sql.aspx ??
10 мар 15, 09:47    [17362848]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
Glory
http://www.sqlis.com/sqlis/post/Flat-File-To-Sql.aspx ??

Любопытно. Спасибо.
10 мар 15, 10:04    [17362934]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31420
werd00
Glory
http://www.sqlis.com/sqlis/post/Flat-File-To-Sql.aspx ??

Любопытно. Спасибо.
Дада, вот это я и имел в виду, когда писал "Можно в Script Task делать новый пакет програмно, и запускать, но это достаточно сложно".
Я так тоже делаю, но сложность кода для такого элементарного действия, как "копировать данные из таблички в табличку" поражает.
Ещё документация плохая, нужно всё в блогах и форумах искать.
Хотя работает в итоге всё эффективно и быстро.
10 мар 15, 10:51    [17363223]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
alexeyvg
werd00
пропущено...

Любопытно. Спасибо.
Дада, вот это я и имел в виду, когда писал "Можно в Script Task делать новый пакет програмно, и запускать, но это достаточно сложно".
Я так тоже делаю, но сложность кода для такого элементарного действия, как "копировать данные из таблички в табличку" поражает.
Ещё документация плохая, нужно всё в блогах и форумах искать.
Хотя работает в итоге всё эффективно и быстро.

Сложно, да. Зато каков результат в итоге:)
10 мар 15, 11:07    [17363326]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
werd00
Сложно, да. Зато каков результат в итоге:)

bcp out + bcp in гораздо лучше. И проще
10 мар 15, 11:09    [17363332]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
Glory
werd00
Сложно, да. Зато каков результат в итоге:)

bcp out + bcp in гораздо лучше. И проще


использовал bcp для выгрузки в файл (порядка 20-30млн записей). действительно лучше. но не в данном случае. Мне надо копировать между серверами, которые в разных подсетях и доменах, и это не разовая операция.
10 мар 15, 11:24    [17363428]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
werd00
но не в данном случае. Мне надо копировать между серверами, которые в разных подсетях и доменах, и это не разовая операция.

И чем SSIS пакет лучше bcp для "в разных подсетях и доменах" и "не разовых операций" ?
10 мар 15, 11:26    [17363449]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
Glory
werd00
но не в данном случае. Мне надо копировать между серверами, которые в разных подсетях и доменах, и это не разовая операция.

И чем SSIS пакет лучше bcp для "в разных подсетях и доменах" и "не разовых операций" ?

bcp все же предназначена для копирования данных между базой и файлом. То есть в моем случае это еще одно промежуточное звено + тащить файл от источника к получателю. bcp рекомендуют использовать на больших объемах. У меня объемы небольшие, но нужна оперативность.
10 мар 15, 12:34    [17363975]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
werd00
bcp все же предназначена для копирования данных между базой и файлом. То есть в моем случае это еще одно промежуточное звено + тащить файл от источника к получателю. bcp рекомендуют использовать на больших объемах. У меня объемы небольшие, но нужна оперативность.

А про "в разных подсетях и доменах" и "не разовых операций" где ответ то ?
И зачем "тащить файл" куда то ?

exportimport.bat
bcp AdventureWorks2012.Sales.Currency out Currency.dat -c -T -Smylocalserver\myinstance
bcp AdventureWorks2012.Sales.Currency in Currency.dat -c -T -Smyremotelserver\myinstance

Сообщение было отредактировано: 10 мар 15, 12:40
10 мар 15, 12:39    [17364011]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
Glory
werd00
bcp все же предназначена для копирования данных между базой и файлом. То есть в моем случае это еще одно промежуточное звено + тащить файл от источника к получателю. bcp рекомендуют использовать на больших объемах. У меня объемы небольшие, но нужна оперативность.

А про "в разных подсетях и доменах" и "не разовых операций" где ответ то ?
И зачем "тащить файл" куда то ?

exportimport.bat
bcp AdventureWorks2012.Sales.Currency out Currency.dat -c -T -Smylocalserver\myinstance
bcp AdventureWorks2012.Sales.Currency in Currency.dat -c -T -Smyremotelserver\myinstance


Вы сейчас пытаетесь меня убедить, что Ваш первый ответ был неудачным и мне надо использовать bcp?
10 мар 15, 12:53    [17364082]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
werd00
Glory
пропущено...

А про "в разных подсетях и доменах" и "не разовых операций" где ответ то ?
И зачем "тащить файл" куда то ?

exportimport.bat
bcp AdventureWorks2012.Sales.Currency out Currency.dat -c -T -Smylocalserver\myinstance
bcp AdventureWorks2012.Sales.Currency in Currency.dat -c -T -Smyremotelserver\myinstance


Вы сейчас пытаетесь меня убедить, что Ваш первый ответ был неудачным и мне надо использовать bcp?

Нет. Я хочу получить разъяснения про конкретные "в разных подсетях и доменах" и "не разовых операций"

Если хотите делать сложно и ненадежно, то кто же вам запретит
10 мар 15, 12:55    [17364091]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
Glory
werd00
пропущено...


Вы сейчас пытаетесь меня убедить, что Ваш первый ответ был неудачным и мне надо использовать bcp?

Нет. Я хочу получить разъяснения про конкретные "в разных подсетях и доменах" и "не разовых операций"

Если хотите делать сложно и ненадежно, то кто же вам запретит


ОК. мое "несовершенное" "знание" bcp подразумевало выгрузку в файл , перенос файла и загрузку с помощью bcp. это про "в разных подсетях и доменах".
Про "не разовых операций". Для переноса данных мне необходимо знать когда, сколько строк было перенесено. Неперенесенные строки должны быть обработаны по отдельному алгоритму. Если бы мне разово надо было выгрузить, я бы, возможно, и использовал bcp, но я знаю как это сделать на SSIS пакете просто и надежно.
Готов выслушать Ваши рекомендации.
10 мар 15, 13:45    [17364429]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
werd00
Для переноса данных мне необходимо знать когда, сколько строк было перенесено.

bcp сообщает о количестве строк. А дату запуска вы должны знать. Вы же инициируете запуск.

werd00
Неперенесенные строки должны быть обработаны по отдельному алгоритму.

-e err_file
Specifies the full path of an error file used to store any rows that the bcp utility cannot transfer from the file to the database. Error messages from the bcp command go to the workstation of the user. If this option is not used, an error file is not created.

werd00
Если бы мне разово надо было выгрузить, я бы, возможно, и использовал bcp, но я знаю как это сделать на SSIS пакете просто и надежно.

Чем код с использованием bcp "сложнее и ненадежнее" создающего сам себя кода SSIS ?
10 мар 15, 13:51    [17364474]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Изобретаем репликацию в домашних условиях?
10 мар 15, 13:58    [17364538]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
Владислав Колосов
Изобретаем репликацию в домашних условиях?

да похоже на то:)
10 мар 15, 14:39    [17364879]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31420
werd00
У меня объемы небольшие, но нужна оперативность.
Можно просто связать серверы и переливать данные запросом.
10 мар 15, 23:34    [17367420]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
werd00
Member

Откуда:
Сообщений: 21
alexeyvg
Можно просто связать серверы и переливать данные запросом.

Можно. У меня получатель на оракле. Пока не получилось прилинковать его. Штатный драйвер mssql не цепляется,а клиент от оракла (11 версия) из mssql не видна. надо будет еще поразбираться.
11 мар 15, 06:02    [17367684]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
werd00
alexeyvg
Можно просто связать серверы и переливать данные запросом.

Можно. У меня получатель на оракле. Пока не получилось прилинковать его. Штатный драйвер mssql не цепляется,а клиент от оракла (11 версия) из mssql не видна. надо будет еще поразбираться.


Битность драйвера Oracle и SQL Server совпадают? TNSNAMES.ORA прописали правильно?
11 мар 15, 10:51    [17368394]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
werd00,

Я вот одного не пойму, у вас так много таблиц, что вы не можете DataFlow для каждой расписать? Или эти таблицы как-то динамически генерятся или их структура всё время меняется?
11 мар 15, 10:53    [17368416]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31420
a_voronin
werd00,

Я вот одного не пойму, у вас так много таблиц, что вы не можете DataFlow для каждой расписать? Или эти таблицы как-то динамически генерятся или их структура всё время меняется?
У нас было несколько тысяч таблиц, и они время от времени менялись, без предупреждения.
11 мар 15, 11:25    [17368622]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31420
werd00
alexeyvg
Можно просто связать серверы и переливать данные запросом.

Можно. У меня получатель на оракле. Пока не получилось прилинковать его. Штатный драйвер mssql не цепляется,а клиент от оракла (11 версия) из mssql не видна. надо будет еще поразбираться.
А, клиент не MSSQL... Ну да, можно пытаться прилинковать, но тогда может вариант с созданием пакетов в коде не самый плохой, придётся разбираться. Хотя можно и через файлы сделать.
11 мар 15, 11:27    [17368636]     Ответить | Цитировать Сообщить модератору
 Re: SSIS динамическая установка параметров задачи потока данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
werd00
Можно. У меня получатель на оракле.


The following non-SQL Server databases are supported as Subscribers to snapshot and transactional publications:
- Oracle for all platforms that Oracle supports.
- IBM DB2 for AS400, MVS, Unix, Linux, and Windows.
11 мар 15, 11:27    [17368643]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить