IBM.Data.Informix.dll выдает Исключение c # соединение informix - PullRequest
1 голос
/ 24 февраля 2012

Я пытаюсь подключиться к серверу Informix 11.5, используя IBM.Data.Informix (находится в C:\Program Files\IBM\IBM DATA SERVER DRIVER\bin\netf20_32\IBM.Data.Informix.dll).Я использую vb2008 и при попытке подключения выдает ошибку invalid argument.

В чем проблема?Спасибо

    public static IfxConnection MAkeConnInformix()
    {
        IfxConnection cnn = new IfxConnection();
        string error = "";
        try
        {
            string ConnectionString = Database=mydbname;Host=10.8.8.50;Server=mainserver_net;Service=1526; Protocol=onsoctcp;UID=myuser;Password=mypass";
            cnn.ConnectionString = ConnectionString;
        }
        catch (Exception ex)
        {
            error = ex.Message;
        }
        return cnn;
    }

Ответы [ 2 ]

1 голос
/ 08 августа 2012

Проблема в том, что в Informix есть два встроенных драйвера: SQLI и DRDA (или драйвер сервера данных). Вы ссылаетесь на драйвер DRDA, но используете синтаксис строки подключения из драйвера SQLI. Например, протокол ключевых слов существует только в SQLI. Различия между драйверами и примерами строк подключения приведены ниже: Начало работы с провайдером IBM Data Server .NET для Informix

Список всех ключевых слов: Ключевые слова конфигурации драйвера IBM Data Server - сложно использовать, потому что большинство из них не имеет значения в случае Informix.

1 голос
/ 02 марта 2012

Если вы не можете подключиться, потому что с локалью что-то не так, добавьте свойства в строку подключения.Я не использую .net, но в JDBC такая строка соединения Informix с информацией о польском языке выглядит следующим образом:

jdbc:informix-sqli://127.0.0.1:9088/test_db:informixserver=ol_local;DB_LOCALE=pl_PL.CP1250;CLIENT_LOCALE=pl_PL.CP1250;charSet=CP1250

В листинге 1 для http://www.ibm.com/developerworks/data/library/techarticle/dm-0510durity/ есть пример, который говорит, что DB_LOCALE и другие могутбыть добавленным в строку .net connet /

...