Строка соединения Sybase ODBC с .net - PullRequest
1 голос
/ 28 мая 2010

У меня установлена ​​программа SYBASE 12.5 на моем сервере и на моем компьютере, я не могу получить правильную строку подключения.

Я использовал connectionstrings.com, но не могу найти правильный.

После запуска и установления соединения

Драйвер = {Драйвер Sybase ASE ODBC}; srvr = имя_сервера; база данных = имя_базы_данных; UID = имя_пользователя; PWD = пароль;

и некоторые другие комбинации этой строки соединения

Я получаю Источник данных = "" Driver = "" DataBase = "" ServerVersion = недопустимая операция. Соединение закрыто

Что я должен исправить в этом.

Пожалуйста, помогите.

Спасибо

Ответы [ 3 ]

1 голос
/ 28 мая 2010

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

  1. Создать текстовый файл на рабочем столе (например, Foo.txt)
  2. Переименуйте файл с расширением udl (например, Foo.udl).
  3. Дважды щелкните файл. Это должно открыть страницу свойств ODBC (она же Свойства ссылки на данные), где вы можете создать строку подключения и проверить подключение. Поскольку файл по-прежнему является текстовым файлом, вы можете открыть его в текстовом редакторе, и он предоставит вам строку подключения.
1 голос
/ 28 мая 2010

Я не работал с Sybase, но я думаю, эта страница на connectionstring.com наверняка может вам помочь.

0 голосов
/ 31 июля 2015

Я понимаю, что это старый вопрос. Возможно, это поможет кому-то другому, пытающемуся решить их проблемы с 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 работает нормально.

...