Я понимаю, что это старый вопрос. Возможно, это поможет кому-то другому, пытающемуся решить их проблемы с Sybase.
Тем не менее, при создании приложения .Net, как правило, вы должны использовать собственные объекты .Net для доступа к базе данных, если они доступны. Sybase действительно имеет их в наличии, хотя, кажется, их трудно найти. Если ваша организация использует базу данных Sybase, кто-то должен иметь доступ к загрузке соответствующих инструментов для вас с портала SAP / Sybase . Обратите внимание, что эта ссылка является версией для разработчиков и может не подходить для ваших требований.
При использовании Sybase.Data.AseClient.AseConnection строка подключения может выглядеть следующим образом:
Server=MyServer; Port=MyPort; Database=MyDatabase; User ID=MyUserID; Password=MyPassword
Обратите внимание, что вам также может понадобиться явно указать кодировку и кодовую страницу в строке подключения:
Charset=ClientDefault;CodePageType=other;clientCharset=iso_1;
Подробнее о кодировке / кодовой странице см. здесь .
Приведенная выше строка подключения работает для меня. Мне пришлось добавить часть кодировки, чтобы она работала за пределами моей машины для разработки.
Также обратите внимание, что у объекта .Net4 могут быть проблемы с утечкой памяти. Простой оператор SQL регулярно вызывал для меня исключение «Попытка чтения или записи в защищенной памяти». Когда я переключился на объект .Net2, эта ошибка исчезла. См. здесь .
К сожалению, общее качество драйверов Sybase кажется низким. Мне удалось получить версию ODBC, работающую на предыдущей версии драйверов (я полагаю, 15.03), однако объект подключения .Net2 всегда генерировал ошибку, которая выглядела как ошибка DLL при создании экземпляра. Сейчас я использую 15.70, и у меня есть вышеупомянутая проблема утечки памяти с объектом .Net4, но в настоящее время объект .Net2 работает нормально.