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

Откуда:
Сообщений: 129
Добрый день! с ssis только начал разбираться. Не могли бы ВЫ помочь мне в следующей задаче.
Необходимо из папки выбрать все .csv файлы с условием чтобы наименование файлов не содержалось в таблице Table1.
И потом их разобрать. С разбором одного файла я разобрался. как теперь решить первую часть задачки ?
Заранее огромное спасибо за советы
12 июл 11, 10:49    [10960228]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
KORSA
Member

Откуда:
Сообщений: 56
Foreachloop а в цикле уже фильтруй
12 июл 11, 10:56    [10960267]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
MaxFoxxy
...как теперь решить первую часть задачки ?
Например, использованием Foreach Loop container-а.

Сообщение было отредактировано: 12 июл 11, 10:57
12 июл 11, 10:56    [10960268]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
tpg,
For each loop за ним ставлю Data flov , так?
Если да, то как в Data flov работать с элементом цикла?
12 июл 11, 10:58    [10960281]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
KORSA,

не пойму как с элементом из for each loop работать..
12 июл 11, 11:00    [10960300]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
MaxFoxxy
tpg,
For each loop за ним ставлю Data flov , так?
Если да, то как в Data flov работать с элементом цикла?
Вы проект уже создали? В Control Flow контейнер Foreach Loop добавили? Его свойства и методы изучили?
12 июл 11, 11:06    [10960328]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
tpg,

Создал, добавил, до конца не разобрался
12 июл 11, 11:11    [10960359]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
http://msdn.microsoft.com/ru-ru/library/ms141724(v=SQL.100).aspx
12 июл 11, 11:29    [10960469]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
tpg,

Внутри foreach loop завожу data flow task
Теперь в data flow task нужно завести Flat file source и через переменную(?) передать путь и имя файла?
я так понял?
12 июл 11, 11:41    [10960532]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
MaxFoxxy
tpg,

Внутри foreach loop завожу data flow task
Теперь в data flow task нужно завести Flat file source и через переменную(?) передать путь и имя файла?
я так понял?



Заводите строковую переменную CurrentFile

Добавляете элемент Foreach Loop Container

в Folder добавляете папку откуда брать файлы
в Files - маску файлов

в VariableMappigs - выбираете ранее заведенную переменную User::CurrentFile

Дальше в контейнер добавляете элемент DataFlowTask

а в нем выбираете элемент Flat File Source

По идее этого достаточно :-)

К сообщению приложен файл. Размер - 16Kb
12 июл 11, 12:00    [10960660]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
Andrey Sribnyak, Спасибо за детальнре объяснение.:)
Так и делаю, от почему то в переменную ничего не пишется

К сообщению приложен файл. Размер - 78Kb
12 июл 11, 12:19    [10960759]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
Andrey Sribnyak,

Как во флет файл сорс передать значение переменной?
12 июл 11, 12:24    [10960787]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
Один раз настраиваете структуру (например для первого файла..)
А дальше он сам разберется

К сообщению приложен файл. Размер - 24Kb
12 июл 11, 12:33    [10960842]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
что переменная передается легко проверить...
Добавляете Script Task

Там выбираете Read Only variables - проставляете значение User::CurrentFile

Язык скрипта Microsoft Visual Basic 2008

и скрипт


' Microsoft SQL Server Integration Services Script Task
' Write scripts using Microsoft Visual Basic 2008.
' The ScriptMain is the entry point class of the script.

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime

<System.AddIn.AddIn("ScriptMain", Version:="1.0", Publisher:="", Description:="")> _
<System.CLSCompliantAttribute(False)> _
Partial Public Class ScriptMain
	Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

	Enum ScriptResults
		Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
		Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
	End Enum
	

	Public Sub Main()
		'
		' Add your code here
        '
        MsgBox(Dts.Variables("CurrentFile").Value).ToString()
		Dts.TaskResult = ScriptResults.Success
	End Sub

End Class


К сообщению приложен файл. Размер - 6Kb
12 июл 11, 12:44    [10960916]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
Andrey Sribnyak,

В FileName FlatFile sourca указывать переменную?

К сообщению приложен файл. Размер - 73Kb
12 июл 11, 12:58    [10961051]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
MaxFoxxy,

ДА!
12 июл 11, 13:10    [10961122]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
Andrey Sribnyak,

Error: 0xC020200E at Data Flow Task, Flat File Source [14]: Cannot open the datafile "CurrentFile".
:( хотя script task выводит путь к файлу.
12 июл 11, 13:15    [10961157]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Expression смотрите...

http://msdn.microsoft.com/en-us/library/ms141214(v=SQL.110).aspx
12 июл 11, 13:27    [10961244]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
Смотри рисунок...

Все устал.. дальше сам

К сообщению приложен файл. Размер - 29Kb
12 июл 11, 13:50    [10961392]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
Mgvlad
Member

Откуда: Минск
Сообщений: 97
MaxFoxxy,

Я бы хотел порекомендовать вместо Data Flow использовать Bulk Insert Task. Data Flow очень нежен и капризен когда его заставляют работать в цикле с кучей файлов.
12 июл 11, 13:51    [10961401]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
Andrey Sribnyak,

Я дико извеняюсь, но почемуто у меня не получается в Connection managere File name указывать как переменную..

К сообщению приложен файл. Размер - 50Kb
12 июл 11, 14:04    [10961477]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
MaxFoxxy
...Я дико извеняюсь, но почемуто у меня не получается в Connection managere File name указывать как переменную..
Потому, что нельзя этого делать!!! Вам уже и я ссылку давал, и Andrey Sribnyak картинку рисовал - привязывайте имя файла из переменной через выражение (Expressions).

Сообщение было отредактировано: 12 июл 11, 14:13
12 июл 11, 14:12    [10961531]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
MaxFoxxy
Andrey Sribnyak,

Я дико извеняюсь, но почемуто у меня не получается в Connection managere File name указывать как переменную..



Ну выберете там первый файл из списка..
у вас свойства должны выглядеть так

К сообщению приложен файл. Размер - 13Kb
12 июл 11, 14:17    [10961568]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
Обратите внимание connectionString описано ДВА РАЗА первый раз как свойство, второй, как выражение
12 июл 11, 14:18    [10961581]     Ответить | Цитировать Сообщить модератору
 Re: помогите с ssis  [new]
MaxFoxxy
Member

Откуда:
Сообщений: 129
tpg,

Наконец понял! Спасибо всем огромное за участие.
Прошу прощение за тупняк, только начал разбираться...
12 июл 11, 14:26    [10961629]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить