2012-05-30 2 views
2

Я пытаюсь подключиться к серверу Informix DB (v10), и я использую библиотеку классов Informix Data Provider .NET для установления соединения через приложение .NET и получения данных.Informix .NET Connection String

Первоначально я установил на своей локальной машине Informix-сервер, чтобы провести некоторое тестирование с помощью этой библиотеки. Интересно, что есть 2 сценария, в которых работает строка соединения, а другая - нет.

Сценарий 1: Сервер настроен для подключения через протокол «drsoctcp» и строка соединения следующим образом:

connectionString="Server=my.server.com:9088; Database=mytestdb; User ID=user; Password=mypass; Persist Security Info=True; Authentication=Server;" 

Вышеуказанные работы, так как протокол, используемый в «drsoctcp»

Сценарий 2: Сервер настроен для подключения через протокол «onsoctcp», а строка подключения - как указано выше. Соединение не будет работать, и ошибка брошена является:

ERROR [08001] [IBM] SQL30081N A communication err or has been detected. Communication protocol being used: "TCP/IP". Communicatio n API being used: "SOCKETS". Location where the error was detected: "fe80::1:10 9:c212:ce44%10". Communication function detecting the error: "recv". Protocol specific error code(s): "", "", "0". SQLSTATE=08001

«my.server.com» это имя машины я работаю, как указано в локальной сети. Я также попытался использовать localhost или IP-адрес (как 127.0.0.1, так и внешний IP-адрес), но все же безуспешно.

Настоящая проблема здесь: сервер Informix, к которому я хочу подключиться (который находится в другой сети полностью), доступен для подключения только через протокол onsoctcp.

Есть ли кто-нибудь, кому удалось подключиться через протокол onsoctcp с классом поставщика .NET Informix?

Заранее спасибо.

ответ

1

Вы проверили ConnectionStrings.com? On this page, они используют onsoctcp вариант:

Database=myDataBase;Host=192.168.10.10;Server=db_engine_tcp;Service=1492; Protocol=onsoctcp;UID=myUsername;Password=myPassword;

+2

Yep я сделал. Когда я пытаюсь включить новые аргументы в строку соединения, такую ​​как Host и Protocol, она выкинет InvalidArgument Exception. Я также попытался следовать рекомендациям и документации IBM по адресу http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.netpr.doc/netpr68.htm –

+1

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

+1

После того, как вы установили клиентский SDK с минимальными настройками и настроили и настроили SetNet32.exe (например, DB и Клиентский язык), я использовал следующую строку подключения, которая работала для меня как шарм: 'Host = 10.81.64.1; Сервер = имя_сервер; Database = MyDB; User ID = myUsername; Пароль = myPassword; ' Спасибо за вашу помощь :) –