Соединитесь с IBM DB2 с .NET с помощью только .dll ссылку

Я хотел бы соединиться с базой данных DB2, конкретно iSeries версия, с помощью .NET и C#, ссылаясь на .dll и не устанавливая программного обеспечения на сервере. В настоящее время мы используем IBM.Data.DB2.iSeries.dll, который установлен как часть iSeries доступа для окон. Я не хочу должным быть устанавливать все это. Но по-видимому у меня нет опции, потому что другой поставщик, IBM.Data.DB2.dll также требует, чтобы Вы установили программное обеспечение, прежде чем оно будет работать согласно этому по сообщению stackoverflow: IBM.Data. DB2

Там должен так или иначе соединиться от кода.Net c# до DB2, просто сославшись на .dll в Вашем коде и не установив другое программное обеспечение на сервере?

Я знаю, что можно сделать это с Java и панелью инструментов JT Open (http://jt400.sourceforge.net/). Почему Вы не можете сделать этого с .NET?

Вот ОСНОВНОЙ пример того, как мы в настоящее время используем IBM.Data.DB2.iSeries.dll.

String sql = "SELECT 1 FROM SCHEMAX.TABLEX";
System.Data.IDbConnection connection = null;
IDataReader reader = null;
try
{
connection = new iDB2Connection(ConfigurationManager.ConnectionStrings.ConnectionString);
connection.Open();
IDbCommand command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = sql;
reader = command.ExecuteReader();
}
finally
{
try { reader.Close(); } catch (Exception ex) { }
try { connection.Close(); }catch (Exception ex) { }
}

Спасибо за внимание, welzie

15
задан Community 23 May 2017 в 11:48
поделиться

1 ответ

На мой вопрос ответили на форуме IBM. Вот ответы.

https://www.ibm.com/developerworks/community/forums/html/threadTopic?id=77777777-0000-0000-0000-000014491597

Ответ1: Привет Велзи, Хотя я, скажем так, не знаком с продуктом JT Open, он, скорее всего, основан на драйвере JDBC типа 4, который является драйвером только для Java на стороне клиента (в отличие от более старого драйвера JDBC типа 2, который требовал не-Java компонент на клиенте). Будучи драйвером только для Java, JT Open может делать то, что вы описываете. Однако драйвер .NET имеет гораздо более сложную структуру зависимостей и, как таковой, требует, чтобы на клиенте было размещено несколько библиотек DLL, как управляемых, так и неуправляемых. Более того, для подключения к серверу iSeries на клиенте также должна быть доступна лицензия DB2 Connect. Таким образом, минимальная установка клиента, необходимая для поддержки.NET для подключения к серверу DB2 является драйвер IBM Data Server (установленный около 40 МБ). Драйвер IBM Data Server - это свободно распространяемый клиентский пакет, который можно загрузить с веб-сайта IBM. Однако, как я сказал выше, для подключения к серверу iSeries вам также потребуется лицензия DB2 Connect.

С уважением, Алекс

Answer2: Поставщик IBM.Data.DB2.iSeries.dll требует многих других частей продукта IBM i Access для Windows, например, для обработки стека связи TCP / IP, защиты / входа в систему, преобразования CCSID и т. Д. Его нельзя скопировать или устанавливается как отдельная dll.

10
ответ дан 1 December 2019 в 04:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: