Справочная информация:
- Visual Studio 2010 (.NET Framework 4.0)
- Informix Server 7.31
- Также был установлен Informix ClientSDK 3.50 TC7 (32-разрядная версия Windows).
Я пытался предложить несколько способов подключения к серверу Informix через Интернет, но все они не работают для меня по любой причине. Я просмотрел такие статьи, как Connect Informix с ADO.Net и использовал ConnectionStrings.com для генерации строки подключения.
Когда я иду в Visual Studio, я делаю следующее:
- Обозреватель серверов
- Щелкните правой кнопкой мыши Подключения данных> Добавить подключение ...
- Источник данных Microsoft ODBC | Поставщик данных .NET Framework для ODBC
- Использовать строку подключения (скопировано / вставлено с использованием веб-сайта ConnectionString ).
- Тестовое соединение
РЕЗУЛЬТАТ: ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию.
- Server Explorer
- Щелкните правой кнопкой мыши Data Connections> Add Connection ...
- Другое | Поставщик данных .NET Framework для ODBC
- Использовать строку подключения (копируется / вставляется с помощью ConnectionString веб-сайта).
- Тестовое соединение
РЕЗУЛЬТАТ: ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию.
- Обозреватель серверов
- Щелкните правой кнопкой мыши Data Connections> Add Connection ...
- Другое | Поставщик данных .NET Framework для OLE DB
- Поставщик OLE DB: Поставщик OLE DB IBM Informix
- Ссылки на данные ...
РЕЗУЛЬТАТ: Указанная процедура не найдена. (Исключение из HRESULT: 0x8007007F)
Кроме того, я не был уверен, что на самом деле заполнить там ...
О, и я даже пытался использовать пример кода , предоставленный в первой статье , подставляя в мою информацию соединения:
- ВЕДУЩИЙ: IP-адрес сервера
- SERVICENUM: номер порта
- SERVER: имя сервера
- БАЗА ДАННЫХ: база данных, над которой я работаю
- USER: идентификатор пользователя
- 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 (string [] args = {string [0]})
- [Внешний код]
Я застрял и понятия не имею, что делать ...: - /