ПРИМЕЧАНИЕ. Я не имею отношения к Advantage или Sybase (материнской компании, которая владеет Advantage); Раньше я работал с Advantage регулярно и имел некоторый опыт, но никоим образом не связан с компанией или продуктом.
Сервер базы данных Advantage (ADS) работает в трех разных режимах. По умолчанию он работает в режиме сервера (ADS_REMOTE_SERVER), который требует запуска экземпляра сервера базы данных Advantage, который можно найти путем проверки на определенном порту (порт настраивается).
Второй режим по умолчанию - ADS_AIS_SERVER - Advantage Internet Server. Это позволяет удаленным соединениям напрямую подключаться к экземпляру AIS через интернет-соединение; Я никогда не использовал эту версию ADS, поэтому я не могу комментировать этот режим.
Последний режим - Локальный сервер (не настроенный в качестве типа подключения по умолчанию), в этом случае загружается локальная копия библиотеки Advantage DLL, и она запускается с использованием этого локального подключения для доступа к данным. В этом режиме некоторые функции недоступны (например, транзакции), а количество подключений ограничено. Advantage Local Server бесплатен для локального использования и поддерживает до 5 подключений (последний раз я проверял).
ADS имеет несколько способов подключения (ODBC, поставщик данных .NET, библиотеки для C, C #, Clipper, FoxPro и несколько других) и поддерживает как Windows, так и Linux как на уровне сервера, так и на уровне клиента.
Режим обычно настраивается вызовом API; Я более знаком с использованием ADS через его реализацию компонента Delphi; через API ADSSetServerType
определяет, какой режим используется (или комбинацию режимов).
Для ODBC вы настраиваете режим через экран конфигурации ODBC (отображается при использовании обычной утилиты администрирования ODBC на панели управления Windows) - см. Групповой блок Доступные типы серверов на рисунке ниже:
Согласно документации, вы правы в том, что это ошибка обнаружения. Вы проверили предложенные решения?
Проблема : приложению Advantage не удалось подключиться к серверу базы данных Advantage.
Решение : Эта проблема может возникать из-за нескольких проблем. Некоторые общие решения перечислены ниже. Обратитесь к базе знаний Advantage для получения более подробных описаний и более полного списка известных случаев ошибок.
Убедитесь, что сервер базы данных Advantage установлен и работает на сервере, на котором расположена база данных.
Если вы пытаетесь использовать Advantage Local Server, а не Advantage Database Server, убедитесь, что в настройках приложения «Типы серверов» задано использование Advantage Local Server.
Если вы используете Native SQL Utility в Advantage Data Architect и хотите использовать локальный сервер Advantage, а не сервер базы данных Advantage, убедитесь, что для типа соединения Advantage установлено значение «Локальный (ALS)». Это можно сделать в диалоговом окне «Параметры запроса», доступ к которому осуществляется нажатием кнопки с отверткой, молотком и гаечным ключом.
Если сервер NetWare 5 или выше, убедитесь, что версия сервера базы данных Advantage 5.6 или выше, и убедитесь, что клиент Advantage v2.6 или выше.
При подключении к серверу, на котором установлен только IPX, убедитесь, что клиент Advantage включен для отправки пакетов IPX.
При работе через брандмауэр убедитесь, что порты отправки и получения IP-адреса Advantage правильно настроены и открыты через брандмауэр.
(Я собирался предоставить ссылки на документацию на веб-сайте Sybase, но, похоже, сейчас он недоступен для технического обслуживания; я обновлю этот ответ завтра, когда он будет создан, или у меня будет доступ к ссылкам, добавленным в закладки с моего офисного ПК.)