SSIS. Использование «LCPI ADO.NET Data Provider for OLE DB» в качестве получателя данных
В данном документе приведено пошаговое руководство по созданию SSIS проекта для переноса данных из текстового файла в базу данных Firebird с использованием «LCPI ADO.NET Data Provider for OLE DB» и «LCPI.IBProvider.5».
Исходный текстовый файл «flat_file1.csv» содержит данные:
N_18_0|N_18_1 0|0.6 1|1.6 2|2.6 3|3.6 4|4.6 5|5.6 6|6.6 7|7.6 8|8.6 9|9.6 10|10.6
База данных (с третьим диалектом), в которую будут перекачиваться данные, содержит таблицу «NUM» с колонками:
N_18_0 NUMERIC(18,0) N_18_1 NUMERIC(18,1)
На компьютере должны быть установлены:
- Visual Studio 2019
- SQL Server Integration Services Projects
- Firebird SQL Server
- LCPI.IBProvider.5 (32bit и 64bit)
- LCPI ADO.NET Data Provider v1.20+ (FW4.8, DDEX для VS2019)
Если планируется запускать SSIS пакет за пределами Visual Studio, необходимо еще установить компонент MSSQL «Integration Services».
Создание SSIS проекта
1. Запускаем Visual Studio 2019.
2. Выбираем пункт «Create a new project»
3. Находим и выбираем «Integration Services Project».
4. Указываем имя и расположение проекта. Наживаем «Create».
5. Из панели «SSIS Toolbox» перетаскиваем «Data Flow Task» на страницу «Control Flow».
6. Выбираем «Data Flow Task», открываем его контекстное меню и выбираем пункт «Properties».
7. В списке свойств находим секцию «Transactions». Выставляем:
- IsolationLevel=RepeatableRead
- TransactionOption=Required
8. Переключаемся на вкладку «Data Flow»
9. Из панели «SSIS Toolbox» перетаскиваем «Flat File Source».
10. Открываем свойства «Flat File Source», нажимаем «New» и настраиваем источник данных.
11. Переключаемся в раздел «Columns» для (автоматического) формирования описаний колонок исходных данных.
12. Закрываем «Flat File Connection Manager Editor» по «OK».
13. В окне «Flat File Source Editor» в выпадающем списке «Flat file connection manager» будет выбран созданный менеджер «FLAT_FILE_SOURCE».
14. Закрываем «Flat File Source Editor» по «OK».
На этом этапе мы закончили настройку источника данных. Переходим к настройке получателя данных – «ADO NET Destination» на базе «lcpi.data.oledb».
15. Из панели «SSIS Toolbox» перетаскиваем «ADO NET Destination».
16. Выбираем добавленный объект «ADO NET Destination», открываем его контекстное меню и выбираем «Edit».
17. Появится окно с предупреждением. Наживаем «OK».
18. В открывшемся диалоге «ADO.NET Destination Editor», напротив выпадающего списка «Connection Manager» нажимаем на кнопку «New».
19. Откроется диалог «Configure ADO.NET Connection Manager». Нажимаем на кнопку «New».
20. Откроется диалог «Connection Manager». В списке провайдеров выбираем «LCPI OleDb Data Provider [NET4.8.0]» и нажимаем «OK».
21. В списке свойств ADO.NET провайдера находим свойство «Provider» и выбираем в нем «LCPI.IBProvider.5».
22. Теперь настраиваем свойства подключения:
- Location=”inet4://home4/d:\database\ram\ibp_test_fb30_d3.gdb” (без кавычек)
- Data Source=ADO_NET
- User ID=SYSDBA
- Password=masterkey
- Persist Security Info=true
- auto_commit=true
- dbclient_type=fb.direct
- named_param_rules=1
- NetProv:ParameterMarkerFormat=”:{0}” (без кавычек)
23. Нажимаем «Test Connection» для проверки параметров подключения. Если произошли ошибки подключения, то возвращаемся к пункту 22 и проверяем параметры.
24. Закрываем диалог «Connection Manager» по «OK».
25. В диалоге «Configure ADO.NET Connection Manager» выбираем «ADO_NET.SYSDBA» и нажимаем «OK».
26. В диалоге «ADO.NET Destination Editor» в выпадающем списке «Use a table or view» выбираем таблицу назначения – «NUM» и закрываем его по «OK».
27. На вкладке «Data Flow» выбираем объект «Flat File Source» и соединяем его с объектом «ADO.NET.Destination».
28. Снова выбираем «ADO.NET Destination», в контекстном меню выбираем «Edit» и переходим в раздел «Mappings». IDE установит связи между колонками с идентичными названиями.
29. Закрываем диалог по «OK» и получаем полностью настроенную задачу перемещения данных.
30. На панели инструментов нажимаем «Start» для запуска задачи.
31. Все, содержимое файла «flat_file1.csv» добавлено в таблицу «NUM».
Можно запустить IBE и проверить содержимое таблицы «NUM».
32. Если на компьютере установлен компонент MSSQL «Integration Services», то проект можно запускать из Visual Studio через «Ctrl+F5».