Как мне подключиться к Informix с .NET?

Исходная информация:

  • Visual Studio 2010 (.NET Framework 4.0)
  • Сервер Informix 7.31
  • Также был установлен Informix ClientSDK 3.50 TC7 (Windows 32-bit).

Я пробовал несколько способов, предложенных в Интернете, для подключения к серверу Informix, но все они не работают для меня по какой-либо причине. Я просмотрел такие статьи, как Подключите Informix к ADO.Net и я использовал ConnectionStrings.com для создания строки подключения.

Когда я перехожу в Visual Studio, я делаю следующее:

  1. Обозреватель серверов
  2. Щелкните правой кнопкой мыши Подключения к данным> Добавить подключение ...
  3. Источник данных Microsoft ODBC | Поставщик данных .NET Framework для ODBC
  4. Используйте строку подключения (скопированную / вставленную с помощью веб-сайта ConnectionString).
  5. Тестовое соединение

РЕЗУЛЬТАТ: ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено и не указан драйвер по умолчанию.

  1. Обозреватель серверов
  2. Щелкните правой кнопкой мыши Подключения к данным> Добавить подключение ...
  3. Другое | Поставщик данных .NET Framework для ODBC
  4. Используйте строку подключения (скопированную / вставленную с помощью веб-сайта ConnectionString).
  5. Тестовое соединение

РЕЗУЛЬТАТ: ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено и не указан драйвер по умолчанию.

  1. Обозреватель сервера
  2. Щелкните правой кнопкой мыши Подключения к данным> Добавить подключение ...
  3. Другое | Поставщик данных .NET Framework для OLE DB
  4. Поставщик OLE DB: поставщик IBM Informix OLE DB
  5. Ссылки на данные ...

РЕЗУЛЬТАТ: указанная процедура не может быть найдена. (Исключение из HRESULT: 0x8007007F)

Кроме того, я не был уверен, что там на самом деле заполнить ...

Да, и я даже пытался использовать образец кода, приведенный в первой статье, подставив в мою информацию о подключении:

  • ВЕДУЩИЙ: IP-адрес сервера.
  • SERVICENUM: номер порта
  • СЕРВЕР: имя сервера.
  • БАЗА ДАННЫХ: база данных, над которой я работаю
  • ПОЛЬЗОВАТЕЛЬ: идентификатор пользователя
  • PASS: пароль

Образец кода, который я скачал / изменил:

using System;
using IBM.Data.Informix;

namespace IfxAdoPres.Basics {
    public class BasicConnection {
        const string HOST = "192.168.OBFUSCATED";
        const string SERVICENUM = "5000";
        const string SERVER = "myServer";
        const string DATABASE = "myDatabase";
        const string USER = "myUserID";
        const string PASSWORD = "myPassword";

        public IfxConnection conn = new IfxConnection();
        public BasicConnection() {}

        public void MakeConnection() {
            string ConnectionString = "Host = " + HOST + "; " +
                "Service=" + SERVICENUM + "; " +
                "Server=" + SERVER + "; " +
                "Database=" + DATABASE + "; " +
                "User Id=" + USER + "; " +
                "Password=" + PASSWORD + "; ";

            conn.ConnectionString = ConnectionString;
        }

        public void CloseConnection() {
            conn.Close();
        }
    }
}

Я получаю сообщение об ошибке в строке conn.ConnectionString = ConnectionString; В исключении указано «Недопустимый аргумент» без InnerException (в основном очень бесполезно). Стек вызовов:

  • Basics.exe! IfxAdoPres.Basics.BasicConnection.MakeConnection ()
  • Basics.exe! IfxAdoPres.Basics.Test.Main (строка [] args = {строка [0]})
  • [Внешний код]

Я застрял и не знаю, что делать ...: - /


person myermian    schedule 08.07.2010    source источник


Ответы (1)


Итак, я вернулся к статье: http://www.ibm.com/developerworks/data/library/techarticle/dm-0510durity/

После удаления всего и начала работы с нуля, демонстрационный код, казалось, работал после установки IBM Informix Client SDK 3.5 и использования Setnet32 для настройки моих параметров.

Должно быть, у меня что-то было повреждено, поскольку изначально у меня было установлено несколько разных версий драйвера Informix.

person myermian    schedule 04.08.2010
comment
Я знаю, что это очень старый пост, и вы, возможно, не помните, но у меня те же проблемы. Вы случайно не помните, приходилось ли вам добавлять IBM.DATA.Informix в ссылки на ваш проект? В дикой природе не так много информации ... Я установил последний клиентский sdk и попытался настроить фиктивное соединение, просто чтобы попасть в ловушку попытки, которая должна попасть в ловушку, но выдает ту же ошибку, что и у вас, которая недействительна аргумент не имеет для меня никакого смысла. - person Bowenac; 11.09.2014