Мы переносим наш экземпляр SAP BW из MSSQL в базу данных HANA и должны использовать SSIS вне системы. Используя SSDT (VS2010), я получаю множество ошибок при попытке чтения данных из HANA. У меня установлены драйверы, которые можно подключить и запросить данные в небольшом приложении C#, которое я написал (также опубликует этот код ниже).Связи SAP HANA ODBC с использованием SSDT/SSIS
Похожие Stack вопрос here: Мои настройки:
Первая ошибка: Использование поставщика .Net для ODBC conncections
Я получаю следующее сообщение об ошибке: [SSIS.Pipeline] Error : Ошибка ADO NET Source с ошибкой и возвращенный код ошибки 0xC0208449. [SSIS.Pipeline] Ошибка: Ошибка ADO NET Source и возвращенный код ошибки 0xC0208449.
Не удалось проверить? Это вопрос авторизации? Нет
Второй ошибка: Использование прямого подключение ODBC
я получаю следующие ошибки:
[ODBC Источник 4] Ошибка: Метод AcquireConnection вызова диспетчера соединений HANA_ODBC неудачи с кодом ошибки 0xC0014009. До этого могут появляться сообщения об ошибках с дополнительной информацией о том, почему вызов метода AcquireConnection не удался.
[SSIS.Pipeline] Ошибка: Ошибка проверки подлинности ODBC Source и возвращенный код ошибки 0x80004005.
[Connection manager "HANA_ODBC"] Ошибка: возникла ошибка, связанная с установлением соединения Open Database Connectivity (ODBC) с сервером базы данных.
же успех на менеджере соединений:
Третья ошибка: Использование .NET HANA Provider поставляется при установке HANA Client
Я даже не вижу вариант для 32-битного источника данных. Отображается только 64-битный DSN, и когда пользователь и пароль вводятся, он генерирует исключение.
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();
}
}
}
}
}
Stack вопрос здесь: Hana and SSIS имеет ответ, но ссылка в ответ мертв.
Любая помощь по этому вопросу будет принята с благодарностью!
Я нашел зеркало archive.org исходной ссылки и разместил его на вопросе, на который вы ссылались. Если ссылка решает вашу проблему, я бы пошел и напишу SO-автоответ, чтобы другие не столкнулись с той же проблемой. –
Новая ссылка для меня не работает – CodeMonkey
не знаю, что вам сказать. Ссылка работает для меня. Можете ли вы получить что-нибудь на archive.org? –