Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

### Отказ в доступе к таблице в ADS после перехода на Win2K8: поиск и решение проблемы

Delphi , Базы данных , База данных

Отказ в доступе к таблице в ADS после перехода на Win2K8: поиск и решение проблемы

Проблема, описанная в вопросе, заключается в том, что после перехода с NetWare на Windows 2008 Server (Win2K8) в качестве операционной системы сети и обновления до версии Advantage Database Server 9.1 (Netware) возникли трудности с выполнением SQL-запросов SELECT из локального клиента, направленных на серверные базы данных. Ранее функционировавшие запросы перестали работать, выдавая ошибку 7008: "Указанная таблица, файл мемо или индексный файл не может быть открыт". Это произошло несмотря на то, что документация Advantage Database Server утверждает, что использование UNC-путей должно быть возможным.

Контекст проблемы

Компания использовала Advantage Database Server 9.1 (Netware) с файлами DBF/CDX в качестве индексов на протяжении нескольких лет. Данные использовались для статистики и отчетности через компоненты Delphi, наследующие TDataSet. Переход на Windows 2008 Server и обновление до новой версии ADS привели к тому, что запросы, выполняемые из локального клиента, перестали работать.

Примеры запросов

До перехода на Windows 2K8 следующие запросы работали корректно:

INSERT INTO MyLocalDB
SELECT TOP 10 * FROM [\\MyServer\Data\MyRemoteDB.dbf] WHERE somecondition

и

INSERT INTO MyLocalDB
SELECT TOP 10 * FROM [S:\Data\MyRemoteDB.dbf] WHERE somecondition

где S: - это сетевой диск, сопоставленный с сервером.

Описание ошибки

После обновления до ADS 10.10 ошибки не исчезли, и запросы продолжали выдавать ошибку 7008.

Альтернативный ответ

Использование серверных псевдонимов в C:\adsserver.ini на сервере может помочь в решении проблемы:

[ServerAliases]
Data=X:\Data

где X:\Data - это локация файла MyRemoteDB.dbf. Однако, этот метод требует, чтобы был установлен параметр "Ignore Rights" в клиенте Advantage.

Подтвержденный ответ

Проблема может быть связана с изменениями в поведении Advantage Database Server относительно блокировки файлов. В документации указано, что по умолчанию доступ к файлам полностью блокируется для других приложений, когда используется проприetary locking. Отключение этой функции с помощью конфигурационного параметра NONEXCLUSIVE PROPRIETARY LOCKING может решить проблему.

Решение проблемы

Чтобы решить проблему, необходимо изменить конфигурационный параметр NONEXCLUSIVE PROPRIETARY LOCKING на значение 1, после чего перезапустить сервис ADS. Это позволит локальным серверным соединениям получать доступ в режиме только для чтения к файлам DBF, открытым на сервере.

Пример кода

// Пример кода на Object Pascal для демонстрации, но не для реального использования
// Так как изменение параметра происходит на сервере, пример кода не применим.

В данном случае пример кода не требуется, так как изменения необходимо вносить на стороне сервера, а не в клиентском приложении.

Заключение

После внесения изменений в конфигурацию сервера и перезапуска сервиса ADS, локальные серверные соединения должны получить возможность чтения данных из удаленных файлов DBF, что позволит выполнить необходимые запросы. Это решение было подтверждено пользователем, столкнувшимся с аналогичной проблемой.

Создано по материалам из источника по ссылке.

Проблема пользователя связана с отказом доступа к таблице в ADS после перехода с NetWare на Windows 2008 Server, что привело к невозможности выполнения SQL-запросов из локального клиента.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: База данных ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-26 23:40:38/0.0036110877990723/0