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

Откуда: Moscow
Сообщений: 610
Доброго времени суток

Есть около 3000 dbf файлов надо их переодически загружать в MS SQL 2008 Enterprise, решил делать это через SSIS, но сталкнулся с тем что за раз через ADO NET Source, пакета Data Flow можно зацепить только один файл.
Если какое решение для загрузки всех dbf из директории?
26 окт 11, 14:40    [11503107]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
А программулину сделать? И будет тебе счастье...
26 окт 11, 14:43    [11503141]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Владимир СА,

хотелось бы найти решение средствами SSIS ,без программирования.
26 окт 11, 14:46    [11503166]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
for each loop в помощь
26 окт 11, 14:52    [11503216]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
andrew shalaev,

Можно загружать через openrowset (сделать select в таблицу).
Создай динамический sql код, и подставляй туда названия файлов и названия таблиц.

http://social.msdn.microsoft.com/forums/en-US/sqldatabaseengine/thread/2301f929-2ccc-4c0a-8bd0-1edc51ab87c3/
26 окт 11, 14:54    [11503230]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
skorpk
Member

Откуда: Волгоград
Сообщений: 276
А версия сервера какая?
26 окт 11, 21:18    [11505815]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
skorpk,

Windows Server 2008 Enterprise

Пробую через foreach loop сделать
27 окт 11, 09:22    [11506587]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
skorpk
Member

Откуда: Волгоград
Сообщений: 276
Версия SQL Server? Имена файлов по наименованию схожи?
27 окт 11, 09:33    [11506626]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
hpv
Member

Откуда:
Сообщений: 153
andrew shalaev,

поддерживаю Ray D, добавьте foreach loop по папке где лежат ваши файлы, он может и по подпапкам пробегать, заводите текстовую переменную аля @FileName в цикле Foreach Loop записываете в нее текущее имя файла, а в своем датафлоу с загрузкой данных на сервак, настраиваете на использование переменной @FileName заместо имени файла. И все.
27 окт 11, 11:11    [11507283]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
hpv
andrew shalaev,

поддерживаю Ray D, добавьте foreach loop по папке где лежат ваши файлы, он может и по подпапкам пробегать, заводите текстовую переменную аля @FileName в цикле Foreach Loop записываете в нее текущее имя файла, а в своем датафлоу с загрузкой данных на сервак, настраиваете на использование переменной @FileName заместо имени файла. И все.


Добавил foreach loop, указал ему нужную папку и поставил галку, что бы и по подпапкам смотрел, указал что бы только имя писалось в переменную, завел переменную. В датафлоу указал Expression имя таблицы = переменной.

Но при этом не проходит валидация, такое ощущение что переменная пустая, не записывает имя файла
27 окт 11, 17:25    [11511152]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
hpv
Member

Откуда:
Сообщений: 153
andrew shalaev,

а как вы указали "что бы только имя писалось в переменную"?
и почему имя таблицы = имени файла, а не имя файла = имени файла(т.е. пременной @FileName)
27 окт 11, 17:36    [11511245]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
hpv
andrew shalaev,

а как вы указали "что бы только имя писалось в переменную"?
и почему имя таблицы = имени файла, а не имя файла = имени файла(т.е. пременной @FileName)



Скрины

К сообщению приложен файл. Размер - 66Kb
27 окт 11, 17:46    [11511371]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610


К сообщению приложен файл. Размер - 27Kb
27 окт 11, 17:47    [11511375]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610


К сообщению приложен файл. Размер - 31Kb
27 окт 11, 17:48    [11511390]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
hpv
Member

Откуда:
Сообщений: 153
andrew shalaev,

1) нужно поставить Fully qualified
2) нужно настроить на вкладке Variable mappings запись в переменную @FileName имени файла.
3) У вас есть подключение ADO Source, у него в проперти экспрешонс выставляете вместо имени файла вашу переменную, а не вместо имени таблицы.
27 окт 11, 17:57    [11511478]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
hpv
andrew shalaev,


2) нужно настроить на вкладке Variable mappings запись в переменную @FileName имени файла.


Т.е. поле Value не должно быть пустым?
27 окт 11, 18:07    [11511574]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
hpv
Member

Откуда:
Сообщений: 153
andrew shalaev,
Если в ладах с английским тут описан весь необходимый вам процесс
http://www.sqlis.com/post/Looping-over-files-with-the-Foreach-Loop.aspx
27 окт 11, 21:39    [11512561]     Ответить | Цитировать Сообщить модератору
 Re: Массовая загрузка DBF через SSIS  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
hpv,

Этот пример основан на загрузке ексель файла, там коннекшстринг и подставляется, а в моем случае такой вариант не подходит
28 окт 11, 15:20    [11516617]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить