Informix «Недопустимый аргумент» исключение со строкой подключения - PullRequest
2 голосов
/ 15 ноября 2011

Я искал онлайн несколько дней, пытаясь решить свои проблемы, и не могу найти ничего, что подсказывало бы, почему я получил эту проблему.

Исключение: System.ArgumentException: Неверный аргумент

Я использую IBM.Data.Informix.dll версия 9.0.0.2 , строка подключения прошла через множество перестановок, но на основе большинства примеров изIBM и в Интернете вот что у меня есть:

Database=testdb; Host=10.0.0.123; Server=test; Service=3013; User Id=testuser; Password=test123; Protocol=onsoctcp;

Я попытался установить Service в качестве имени службы, я удалил его, даже попытался установить для сервера IP, а не Host.Что бы я ни делал, он просто выдвигает бесполезное исключение, которое совсем не помогает в отладке.

Я использую класс IfxConnection при создании экземпляра:

using System.Data;
using IBM.Data.Informix;

namespace InformixTest
{
    public class InformixConnectionFactory : IConnectionFactory<IDbConnection>
    {
        private string connectionString;

        public InformixConnectionFactory(string connectionString)
        {
            this.connectionString = connectionString;
        }

        public IDbConnection GetConnection()
        {
            return new IfxConnection(connectionString);
        }
    }
}

Каждый раз, когда он работаетв новый IfxConnection (connectionString) выдается исключение, строка подключения внедряется через раздел ConnectionStrings web.config.Я также нацеливаюсь на .net 4. Если это проблемааналогичная проблема, поэтому они установили Informix Client SDK, который исправил их проблему.Я тоже сделал то же самое, но не повезло.

Я использую следующие сайты в качестве справки о том, как должна выглядеть моя строка подключения:

http://www.ibm.com/developerworks/data/library/techarticle/dm-0510durity/ /576255/stroka-podklycheniya-dlya-informix-dlya-net

Любая помощь будет отличной!

1 Ответ

1 голос
/ 15 ноября 2011

ваша строка подключения работает на моем компьютере. У меня было много проблем с IfxConnection, потому что я также сначала установил драйвер. Затем я удалил драйверы и клиент SDK, перезапустить Windows и снова установил клиент SDK. На всякий случай я перезапустил Windows снова. Это сделало это для меня.

Кроме того, я думаю, вам следует переключиться (если это возможно) на IBM Data Server .NET Provider для Informix, поскольку старый драйвер informix больше не будет улучшен. Посмотрите здесь для сравнения:

http://www.ibm.com/developerworks/data/library/techarticle/dm-1007dsnetids/index.html

Вы обнаружите, что функции «Поддержка сервера Informix» и «Поддержка .NET Framework 3.0, 3.5» довольно важны, и старый драйвер их не поддерживает. Также в статье не упоминается, что старый драйвер не поддерживает извлечение метаданных из базы данных.

...