Меню

Attunity connector sql ssis настройка



FAQ по коннекторам SSIS к Oracle

За время работы с Oracle Database и Microsoft SQL Server Integration Services я собрал 2 FAQ-а. Первый — по Oracle Client — опубликован предыдущим постом, а здесь следующий — по коннекторам SSIS к Oracle.

Нужен ли Oracle Client?

Да, все описанные ниже коннекторы используют Oracle Client.

Что такое Devart dotConnect?

Devart выпускает .NET провайдеры и инструменты, в том числе для СУБД Oracle и MySQL, dotConnect это .NET провайдер.

Какую редакцию dotConnect надо взять, чтобы работать из SSIS?

Возьмите редакцию Express, которая предоставляется бесплатно.

Что за предупреждение про Devart.Data.dll при установке dotConnect for Oracle и dotConnect for MySQL?

В дистрибутивах коннекторов dotConnect для разных СУБД есть общие компоненты, которые устанавливаются с каждым из них. Предупреждение возникает при попытке установки коннектора dotConnect, если библиотека более старой версии уже установлена с коннектором dotConnect к другой СУБД.

Это означает, что имеет смысл скачать и установить на машину с интеграционными службами SQL Server коннекторы сразу ко всем СУБД, с которыми в условиях организации возможно интегрироваться, что бы потом (при установке очередного коннектора) не обновлять уже установленные коннекторы и не вносить дополнительные риски.

Что такое Microsoft Connector for Oracle by Attunity?

Attunity выпускает для Microsoft, а Microsoft бесплатно предоставляет для пользователей SQL Server Enterprise Edition компоненты SSIS для извлечения и вставки в СУБД Oracle под названием Microsoft Connector for Oracle by Attunity. Технически, компоненты работают в SSIS во всех редакциях SQL Server, а не только в Enterprise.

Существует ещё Microsoft Connector for Teradata by Attunity.

Что быстрее работает — dotConnect или Connector by Attunity?

При том, что dotConnect более универсален — это не компонент SSIS, а обычный .NET провайдер — быстрее работает dotConnect.

Вот результаты тестов в секундах между СУБД Oracle 10g и SQL Server 2012 Developer Edition на таблице, содержащей 126 828 записей (наш Oracle под рабочей нагрузкой):

Чем из Oracle Чем в MS SQL Тест 1 Тест 2 Тест 3 Тест 4 Тест 5 Среднее без выплесков
Attunity OLE DB 5,819 4,665 4,743 4,711 4,711 4,71
Attunity ADO.NET 4,836 4,805 4,899 4,852 4,758 4,83
dotConnect ADO.NET 2,309 2,418 2,293 3,026 2,324 2,37
dotConnect OLE DB 1,451 1,482 1,466 1,467 1,435 1,46

Разумеется, для строк разного размера и на различающемся оборудовании результаты будут различаться — мои можно использовать как ориентировочные при настройках пакета SSIS по умолчанию (об этих настройках ниже).

В первых двух тестах ADO.NET со стороны SQL Server добавлял незначительно времени (ограничивающим фактором был Attunity коннектор со стороны Oracle), а в последних двух тестах, ограничивающим фактором было подключение к SQL Server, где OLE DB очевидно быстрее и, поэтому, OLE DB рекомендуется пока Microsoft не прекратит поддержку OLE DB.

О влиянии настроек

В 2015-м году один из моих читателей сообщил, что при тестировании загрузки его данных с помощью Attunity и dotConnect из Oracle 9 (с использованием SSIS из SQL Server 2012) он добился почти паритета Attunity и dotConnect за счёт настроек.

При DefaultBufferMaxRows = 50 000 и BatchSize = 50 000 для источника Oracle от Attunity, на широкой таблице с большим количеством полей, в том числе больших текстовых полей, Attunity проигрывал всего 0,7 %, а на узкой, с большим количество записей и одним текстовым полем в 20, символов Attunity проигрывал менее 8,2 %.

При настройках по умолчанию, Attunity проигрывал dotConnect-у в 6 раз.

Какие ещё есть варианты подключения к Oracle из SSIS?

Все остальные варианты хуже чем dotConnect и Microsoft Connector for Oracle by Attunity — они обладают худшей поддержкой и меньшей скоростью.

Вот весь перечень известных нам компонентов:

Где находится в SSIS Что это? Особенности
.Net Providers\OracleClient Data Provider .NET провайдер от Microsoft Поддержка прекратится в будущем. Сейчас всё работает. Хорошая понятность ошибок.
.Net Providers\Oracle Data Provider for .NET .NET провайдер от Oracle
.Net Providers for OleDb\Microsoft OLE DB Provider for Oracle OLE DB провайдер от Microsoft Не работает с параметрами. Работает только в Runtime 32, официально поддерживает только Oracle Database 8i.
.Net Providers\Oracle Provider for OLE DB OLE DB провайдер от Oracle Рекомендуется, если нужны OLE DB команды.
Microsoft Connector for Oracle by Attunity (MSORA) Специальный компонент подключения от Microsoft Рекомендуется для больших объемов данных. Разумеется, не работает с OLE DB командами и SQL Task.
.Net Providers\dotConnect for Oracle .NET провайдер от DevArt Рекомендуется во всех случаях. Разумеется, не работает с OLE DB командами.

Следует заметить, что dotConnect совместим по API с Oracle Data Provider for .NET, что неплохо в случае замены одного на другой, чтобы не трогать C# в Script Task и Script Transformation.

Почему русские буквы в данных, извлекаемых из Oracle, заменяются на непонятные символы?

В Devart dotConnect for Oracle, можно в настройках подключения установить Unicode = true и не зависеть от кодировки клиента.

Читайте также:  Автомобильные часы vst 7042v настройка

Но, в любом случае, рекомендуется настроить кодировку Oracle Client в ОС Windows на 1251 — смотрите FAQ по Oracle Client.

Использовать прямой режим dotConnect или работать через Oracle Client?

Рекомендуется работать через Oracle Client, в частности потому, что Oracle Client корректно работает с единой транзакцией на пул подключений.

Это означает, что если в процессе работы SSIS использует 100 подключений к Oracle, то все они будут находиться в одной транзакции с точки зрения Oracle, открываемой первым подключением. В прямом режиме, каждое подключение будет в своей собственной транзакции, что ухудшает согласованность данных.

Источник

Соединители Microsoft для Oracle и Teradata компании Attunity для служб Integration Services (SSIS) Microsoft Connectors for Oracle and Teradata by Attunity for Integration Services (SSIS)

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Azure-SSIS Integration Runtime в Фабрике данных Azure SSIS Integration Runtime in Azure Data Factory Azure-SSIS Integration Runtime в Фабрике данных Azure SSIS Integration Runtime in Azure Data Factory Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Azure-SSIS Integration Runtime в Фабрике данных Azure SSIS Integration Runtime in Azure Data Factory Azure-SSIS Integration Runtime в Фабрике данных Azure SSIS Integration Runtime in Azure Data Factory

Соединители Atunity для Oracle и Teradata поддерживают SQL Server 2017 и более ранних версий. Atunity Connectors for Oracle and Teradata support SQL Server 2017 and below.

Последние соединители для Oracle и Teradata для SQL Server 2019 и последующих версий можно получить здесь: From SQL Server 2019, get latest connectors for Oracle and Teradata here:

Вы можете скачать соединители для служб Integration Services от Attunity, позволяющие оптимизировать производительность при загрузке данных из Oracle или Teradata и в эти системы в пакете служб SSIS. You can download connectors for Integration Services by Attunity that optimize performance when loading data to or from Oracle or Teradata in an SSIS package.

Скачать последние версии соединителей компании Attunity Download the latest Attunity connectors

Проблема. Соединители Attunity не отображаются в панели элементов служб SSIS Issue — The Attunity connectors aren’t visible in the SSIS Toolbox

Чтобы видеть соединители Attunity в панели элементов служб SSIS, необходимо всегда устанавливать версии соединителей, разработанные для той же версии SQL Server, что и версия SQL Server Data Tools (SSDT), установленная на вашем компьютере. To see the Attunity connectors in the SSIS Toolbox, you always have to install the version of the connectors that targets the same version of SQL Server as the version of SQL Server Data Tools (SSDT) installed on your computer. (Также могут быть установлены более ранние версии соединителей.) Это требование не связано с версией SQL Server, на которую ориентированы ваши пакеты и проекты SSIS. (You may also have earlier versions of the connectors installed.) This requirement is independent of the version of SQL Server that you want to target in your SSIS projects and packages.

Например, если вы установили последнюю версию SSDT, у вас будет версия SSDT 17, номер сборки которой начинается с 14. For example, if you’ve installed the latest version of SSDT, you have version 17 of SSDT with a build number that starts with 14. В этой версии SSDT добавлена поддержка SQL Server 2017. This version of SSDT adds support for SQL Server 2017. Чтобы видеть и использовать соединители в пакете служб SSIS, даже если разработка осуществлялась для более ранней версии SQL Server, необходимо установить последнюю версию соединителей Attunity (5.0). To see and use the Attunity connectors in SSIS package development — even if you want to target an earlier version of SQL Server — you also have to install the latest version of the Attunity connectors, version 5.0. В этой версии соединителей также добавлена поддержка SQL Server 2017. This version of the connectors also adds support for SQL Server 2017.

Проверить установленную версию SSDT можно в Visual Studio в меню Справка | О Microsoft Visual Studio или в разделе Программы и компоненты панели управления. Check the installed version of SSDT in Visual Studio from Help | About Microsoft Visual Studio, or in Programs and Features in the Control Panel. После этого установите соответствующую версию соединителей Attunity, руководствуясь следующей таблицей. Then install the corresponding version of the Attunity connectors from the following table.

Источник

Arcscent Solutions Blog

Walk Talk on connecting enterprise technology and how Arscent Team can help your IT achieve it.

Recent Posts

Categories

Archives

Authors

Top Clicks

No upcoming events

Читайте также:  Таблица настроек резьб дюймовой

Using Attunity SQL Server Integration Services (SSIS) Oracle Connector

Attunity connector helps to attain better performance than any built-in connectors of SSIS during loading or unloading of the data from Oracle DB. It has similar configuration and UI as SSIS built-in OLEDB connector. It uses Oracle’s OCI client with its Array Binding and Direct Path APIs to deliver high speed data transfer: It is available to download from Microsoft or Attunity web site for SQL Server Enterprise user at no cost. Attunity has three main components Oracle source, Oracle destination and Oracle connection manager.

This blog guides you to install, configure and use the Attunity with SSIS to connect with Oracle DB.

Prerequisite:

  • Oracle Client 32/64 Bit on SSIS M/c – you can refer my blog https://arcscent.wordpress.com/2014/01/16/biztalk-connection-to-oracle-db-through-wcf-oracle-adapter-step-issue-and-resolution/ to guide you to download and install oracle client.

Installation:

One can download Microsoft Connector for Oracle by Attunity from below links:

Once you downloaded setup or MSI file, go through standard setup process.

After installation is complete, you are prompted to restart SQL Server Integration Services.

How to Add Attunity Oracle Source and Destination component in the SSIS Toolbox

  • In the Toolbox, right-click Data Flow Source and then click Choose Items.
  • Click the SSIS Data Flow Items tab and then select the Oracle Source and Oracle Destination check box, and then click OK.

  • Oracle Source and Destination is now available as a data flow source/Destination.

Источник

SQL Server: Attunity connectors for data transfer to Oracle

Recently, at a customer site, I discovered the Attunity connector 1.1 for Oracle. The customer uses this connector to transfer data from Oracle to SQL Server using Integration Services (SSIS) and informed me that performances are greatly improved. So I decided to post a blog about this connector and perform a benchmark between Attunity connector and Microsoft OLE DB provider for Oracle.

Architecture

All along this blog, I have used this 2 virtual machines:

  • IP: 172.22.1.192
  • OS: Windows Server 2008 R2
  • Software: SQL Server 2008 R2 SP1 (Engine, Integration Services & Microsoft Visual Sutdio)
  • IPI: 172.22.1.175
  • OS : Oracle Enterprise Linux (OEL)
  • Software : Oracle 11gR2

Prerequisites

Attunity connector dose not work with all version of SQL Server, be sure that all prerequisites are met.
The connector does not support all types of data (

50%). Undermentioned is the array of the supported types :

Oracle Database Data Types SSIS Data Types
VARCHAR2 DT_STR
NVARCHAR2 DT_WSTR
NUMBER DT_R8
NUMBER (P,S) DTNUMERIC(P,S)
DATE DT_DBTIMESTAMP
RAW DT_BYTES
CHAR DT_STR
TIMESTAMP DT_STR
Oracle Database Data Types SSIS Data Types
LONG Not Supported
LONG RAW Not Supported
ROWID Not Supported
User-defined type
(object type, VARRAY, Nested Table)
Not Supported
REF Not Supported
CLOB, NCLOB, BLOB, BFILE Not Supported
UROWID Not Supported

You have to use Microsoft SQL Server Enterprise Edition.
You will need Microsoft Visual Studio or Business Intelligence Development Studio (BIDS) from SQL Server 2008, connector is not compatible with SQL 2005.
An Oracle Client has to be installed and you have to define a TNS Service Name.

Attunity connector installation

The connector has to be installed on the same server than SSIS.
The connector can be downloaded at this address: http://www.microsoft.com/download/en/details.aspx?id=13921
Launch the executable and follow the instructions, set the installation path and confirm the installation.


To finish the installation, SQL Server Integration Services service must be restarted.

Now, you can create a new Integration Services project with Microsoft Visual Studio or Business Intelligence Development Studio (BIDS). BIDS is delivered with SQL Server
In the new package, click on the Data Flow tab and create a new one.
After installing the Oracle Connector, the Oracle source and destination should be available in the toolbox area of BIDS. If these components are not available, do the following to add them.

1. In the Toolbox, right-click on either Data Flow destinations or Data Flow Sources and select Choose items.


2. Click on the SSIS Data Flow Items tab.
3. Find the Oracle Source, Oracle Destination, or both of them in the list and select the check box for the components you want to add to the toolbox.


4. Click OK and Attunity components are availables in the toolbox.

Creation of the package

Set up an Oracle Source and a SQL Server Destination if SSIS is on the same server than Database Engine. Otherwise, use an OLE DB Destination.


Double click on the Oracle Source to configure it.
Enter the name of the connection and the following information: TNS service name and Oracle account.

Читайте также:  Настройка квика с графиками


You can now test the connection.

If the test connection is successfull, click Ok. Choose the table or view to be transferred to SQL server. Click Ok.

Double click on the SQL Server destination. Create a new connection such as “SQL Server Native Client 10.0”, enter the name of the server, choose the authentication mode and the database.


Click Ok and select the new connection.
You have two solutions to import data from Oracle: You can either import the data into an existing table or view…

…or in a new table with the same structure than the source table:

Click ok.
The package can be tested by clicking on the green arrow in the toolbar:


If the package is working, you should see this:

If it the package is not working, look up the section “frequents errors” to try to solve your problem.
The package is ready to be imported into SQL Server Management Studio. Launch Management Studio and connect to Intergration Services.

In the folder Stored PackageMSDB, create a folder and import your package with a right click.
In package location, choose File System. Look up your package on the server, name it, keep the protection level and click OK.

You can still run the package manually…


…or integrate it into a job or other function.

Benchmark

The aim of the benchmark is to compare the performances of Attunity connector for Oracle and OLE DB provider for Oracle.

I performed the tests with (10) tables of 500, 1’000, 2’500, 5’000, 7’500, 10’000, 50’000, 100’000, 500’000 and 1’000’000 rows.
The structure of the table is simple: 5 fields of different types : Char, Varchar2, Number, Number(x,y) and date. I populated the table with random values.

Analysis

After testing all the packages, here is the result of the benchmark:

Rows OLE DB Provdier for Oracle Attunity Connectors Gain
500 rows 164 ms 152 ms 7%
1’000 rows 212 ms 207 ms 2%
2’500 rows 243 ms 232 ms 4%
5’000 rows 294 ms 274 ms 7%
7’500 rows 341 ms 307 ms 10%
10’000 rows 544 ms 475 ms 13%
50’000 rows 1147 ms 987 ms 14%
100’000 rows 1947 ms 1659 ms 15%
500’000 rows 5513 ms 4687 ms 15%
1’000’000 rows 11264 ms 9554 m 15%

Here are two comparative diagrams of OLE DB Provider for Oracle and Attunity connector:

The diagram shows that the more rows there are, the more performances are improved. the connector becomes very interesting starting from

The maximal gain is

15% with 1’000’000 rows.

Encountered problems and frequents errors

Even if Attunity connector is a very useful tool, you may encountered some errors.

In this section, I have described the most commons errors. These errors are not specific to Attunity connector, so if you are accustomed to BIDS you may already know them.

  • Error : “0xC0202071 at Data Flow Task(infraction action), SQL Server Destination [3600]: Unable to prepare the SSIS bulk insert for data insertion. ”
    • Solution : Disable UAC (User Account Control) in the control panel.
  • Error on OLE DB source and destination: “Cannot retrieve the column code page info on the OLE DB Provider. If the component supports the “DefaultCodePage” property, the code page from that property will be used. Change the value of the property if the current string code page values are incorrect. If the component does not support the property, the code page from the component’s locale ID will be used.”
    • “AlwaysUseDefaultCodePage” must be set on “true” on OLE DB source and destination.

  • Error: 0xC0209303 and 0xC020801C.
    • You have to run the package in 32 bit mode. In the properties of the project (accessible via Project menu), set “Run64BitsRuntime” on “false”.

Conclusion

Attunity connector provides an improved performance even with few records. The gain is great if you have a lot of rows to transfer. The implementation is quite easy, so with minimal efforts you can gain a lot of time on your SSIS packages.
Considering a gain of 500 rows, using these connectors is primarily interesting if you have a lot of data to transfer.

The primary drawback is that the connector does not support all types of data, so be careful before using it. And as I have said before, you have to have Enterprise Edition, otherwise, you cannot use Attunity connector.

  • Coming soon: a benchmark with Microsoft SQL Server 2012 and Attunity connectors 2.0

Источник

Adblock
detector