2016-01-15 7 views
0

Мы переносим наш экземпляр SAP BW из MSSQL в базу данных HANA и должны использовать SSIS вне системы. Используя SSDT (VS2010), я получаю множество ошибок при попытке чтения данных из HANA. У меня установлены драйверы, которые можно подключить и запросить данные в небольшом приложении C#, которое я написал (также опубликует этот код ниже).Связи SAP HANA ODBC с использованием SSDT/SSIS

Похожие Stack вопрос here: Мои настройки: enter image description here

Первая ошибка: Использование поставщика .Net для ODBC conncections .NET ODBC

Я получаю следующее сообщение об ошибке: [SSIS.Pipeline] Error : Ошибка ADO NET Source с ошибкой и возвращенный код ошибки 0xC0208449. [SSIS.Pipeline] Ошибка: Ошибка ADO NET Source и возвращенный код ошибки 0xC0208449.

Не удалось проверить? Это вопрос авторизации? Нет User PW

Второй ошибка: Использование прямого подключение ODBC ODBC

я получаю следующие ошибки:

[ODBC Источник 4] Ошибка: Метод AcquireConnection вызова диспетчера соединений HANA_ODBC неудачи с кодом ошибки 0xC0014009. До этого могут появляться сообщения об ошибках с дополнительной информацией о том, почему вызов метода AcquireConnection не удался.

[SSIS.Pipeline] Ошибка: Ошибка проверки подлинности ODBC Source и возвращенный код ошибки 0x80004005.

[Connection manager "HANA_ODBC"] Ошибка: возникла ошибка, связанная с установлением соединения Open Database Connectivity (ODBC) с сервером базы данных.

же успех на менеджере соединений: success 1

Третья ошибка: Использование .NET HANA Provider поставляется при установке HANA Client enter image description here

Я даже не вижу вариант для 32-битного источника данных. Отображается только 64-битный DSN, и когда пользователь и пароль вводятся, он генерирует исключение.

64-битный DSN: enter image description here

32bit DSN: enter image description here

C#, который может подключаться и запрос данных из HANA:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data.Odbc; 
using System.Data; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      using (OdbcConnection myConnection = new OdbcConnection()) 
      { 
       string myConnectionString;     
       myConnectionString = "DSN=HANA32;SERVERNODE=MyHana:30015;UID=SYSTEM;PWD=MyPW;DATABASENAME=DB"; 
       myConnection.ConnectionString = myConnectionString; 

       try 
       { 
        myConnection.Open(); 
       } 
       catch (System.Data.Odbc.OdbcException ex) 
       { 
        Console.Error.WriteLine(ex);    
       } 
       if (myConnection.State == ConnectionState.Open) 
       { 
        Console.Write("Connection Open"); 
        Console.WriteLine(); 
        OdbcCommand DbCommand = myConnection.CreateCommand(); 
        DbCommand.CommandText = "SELECT \"BATCH\" FROM \"_SYS_BIC\".\"ZBW/ZBATCH_ATTRS\" LIMIT 10"; 
        OdbcDataReader DbReader = DbCommand.ExecuteReader(); 
        while (DbReader.Read()) 
        { 
         Console.WriteLine(DbReader["BATCH"].ToString()); 

        }   
        DbReader.Close(); 
        DbCommand.Dispose(); 
        myConnection.Close(); 
        Console.ReadLine();      
       } 
       else 
       { 
        Console.Write("Failure"); 
        Console.ReadLine();          
       } 
      } 
     } 
    } 
} 

Console

Stack вопрос здесь: Hana and SSIS имеет ответ, но ссылка в ответ мертв.

Любая помощь по этому вопросу будет принята с благодарностью!

+0

Я нашел зеркало archive.org исходной ссылки и разместил его на вопросе, на который вы ссылались. Если ссылка решает вашу проблему, я бы пошел и напишу SO-автоответ, чтобы другие не столкнулись с той же проблемой. –

+0

Новая ссылка для меня не работает – CodeMonkey

+0

не знаю, что вам сказать. Ссылка работает для меня. Можете ли вы получить что-нибудь на archive.org? –

ответ

0

Основной причиной этого была неправильная запись реестра 32-битного драйвера для HANA ODBC.Правильные записи должны выглядеть следующим образом:

64bit: компьютер \ HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ odbcinst.ini \ HDBODBC 64bit Driver

32bit: Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ODBC \ ODBCINST.INI \ SAP HANA для MS Excel
32bit Driver