2014-11-10 2 views
1

У меня есть клиентское приложение Sybase, написанное на C# с использованием ADO.Net 4.0. Код имеет ссылку на файл сборки Sybase.AdoNet4.AseClient.dll.Sybase AdoNet4 AseClient v16.x (клиент не смог установить соединение)

В моем (DEV) окне приложение работает отлично и без проблем.

Когда я перемещаю это приложение вместе с файлом Sybase.AdoNet4.AseClient.dll на сервер Windows 2008 (№ 1) и запускаю приложение .. он не может получить успешное соединение с Sybase DB! Это бросается ниже ошибки.

Клиент не может установить соединение

Checked сообщение трассировки стека, это не полезно.

на Sybase.Data.AseClient1.AseConnection.Open() в Sybase.Data.AseClient.AseConnection.Open()

Строка подключения состоит из Data Source = xxx.xxx. xxx.xxx; Port = 1234; Database = имя_бд; Uid = имя пользователя; PWD = пароль; ConnectionIdleTimeout = NNN;

Источник данных = xxx.xxx.xxx.xxx является сервером (# 2), и он является pingable и проблем нет (время ответа < 1ms TTL = 255).

+0

Нет одно лицо такого рода проблемы? или Sybase & ADO.Net комбо не популярны ?? – EditOR

+0

Эй, поставленный ответ действительно сработал для меня - у вас все еще есть проблемы? – porusan

ответ

3

Попробуйте добавить в строку подключения Charset=iso_1 (или соответствующую кодировку). Это решило мою проблему.

.: например

Data Source=xxx.xxx.xxx.xxx; Port=1234; Database=dbname; Uid=username; Pwd=password; ConnectionIdleTimeout=nnn; 

Теперь не будет:

Data Source=xxx.xxx.xxx.xxx; Port=1234; Database=dbname; Uid=username; Pwd=password; ConnectionIdleTimeout=nnn;Charset=iso_1; 
+0

Спасибо ** Эрик **. Да, это сработало отлично! – EditOR

Смежные вопросы