Подключение к БД Ingres из .net Core 2.1

Я разрабатываю API .net core 2.1, который должен подключаться к более старой базе данных Ingres.

В предыдущих платформах .net я мог использовать клиент Ingres, найденный здесь https://www.nuget.org/packages/Ingres.Client/1.0.1

Однако это несовместимо с .net core 2.1, а последнее обновление было около 3 лет назад! Некоторые ключевые файлы отсутствуют, что вызывает ошибки во время выполнения.

Возникло исключение: 'System.IO.FileNotFoundException' в System.Private.CoreLib.dll

Так что я просто подумал, есть ли у кого-нибудь опыт подключения к Ingres из .net core 2.1 и знает, как это сделать. Любые предложения или стратегии, которые стоит попробовать, будут оценены.

С Уважением.


person G.James    schedule 02.07.2018    source источник
comment
Чтобы обойти эту проблему, я декомпилировал Ingres.Client из Actian и исправил проблему с отсутствующими файлами. Основная проблема заключается в том, что System.EnterpriseServices недоступна в Core, но простое создание интерфейса ITransaction, похоже, сработало. Пока я могу общаться с моей БД Ingres, я не делал ничего слишком сложного, но, похоже, все идет нормально!   -  person G.James    schedule 04.07.2018
comment
У вас есть перекомпилированная dll, @ G.James?   -  person Narvalex    schedule 23.10.2018
comment
@ G.James, не могли бы вы разместить здесь свой код.   -  person Ram Singh    schedule 18.01.2019


Ответы (1)


Мне удалось это сделать с драйвером Ingres ODBC. Доступные драйверы в Windows доступны из: Панель управления> Администрирование> Администратор источника данных ODBC. Выберите «Добавить ...», чтобы найти имя установленного драйвера Ingres ODBC (например, «Ingres XC»).

var connectionString = "Driver=Ingres XC;Server=@<db-server-ip>,tcp_ip,II;UID=ingresuser;PWD=password;database=mydatabase";

using (OdbcConnection connection = new OdbcConnection(connectionString))
{
// ...
}
person Mangala    schedule 02.09.2019