Подтвердить что ты не робот

Подключитесь к IBM DB2 с помощью .Net, используя только ссылку .dll

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

Можно ли подключиться из .Net кода С# к DB2, просто ссылаясь на .dll в вашем коде и НЕ устанавливая другое программное обеспечение на сервере?

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

Вот пример BASIC, как мы в настоящее время используем файл 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

4b9b3361

Ответ 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 Driver - это свободно распространяемый клиентский пакет, который можно загрузить с веб-сайта IBM. Однако, как я уже говорил выше, для подключения к серверу iSeries вам также понадобится лицензия DB2 Connect.

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

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