Исходная информация:
- 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, я делаю следующее:
- Обозреватель серверов
- Щелкните правой кнопкой мыши Подключения к данным> Добавить подключение ...
- Источник данных Microsoft ODBC | Поставщик данных .NET Framework для ODBC
- Используйте строку подключения (скопированную / вставленную с помощью веб-сайта ConnectionString).
- Тестовое соединение
РЕЗУЛЬТАТ: ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено и не указан драйвер по умолчанию.
- Обозреватель серверов
- Щелкните правой кнопкой мыши Подключения к данным> Добавить подключение ...
- Другое | Поставщик данных .NET Framework для ODBC
- Используйте строку подключения (скопированную / вставленную с помощью веб-сайта ConnectionString).
- Тестовое соединение
РЕЗУЛЬТАТ: ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено и не указан драйвер по умолчанию.
- Обозреватель сервера
- Щелкните правой кнопкой мыши Подключения к данным> Добавить подключение ...
- Другое | Поставщик данных .NET Framework для OLE DB
- Поставщик OLE DB: поставщик IBM Informix OLE DB
- Ссылки на данные ...
РЕЗУЛЬТАТ: указанная процедура не может быть найдена. (Исключение из 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]})
- [Внешний код]
Я застрял и не знаю, что делать ...: - /