Интерфейс MS-доступа с базой данных sybase Sql Anywhere, плюсы и минусы

Я подумываю о переносе моего простого настольного клиент-серверного приложения ms-access 2003 в приложение с интерфейсом ms-access и серверной базой данных sybase 10 или 11 sql Anywhere. Почему? потому что я хочу: - воспользоваться простым и быстрым способом создания форм и отчетов (с которыми я уже знаком ... что означает меньшую потребность в обучении для меня) - воспользоваться надежным и эффективным способом, которым могут быть базы данных sybase настроить синхронизацию данных в различных типах сетей с помощью mobilink.

Я не хочу использовать репликацию доступа, потому что объем данных в конечном итоге вырастет до более чем 2 ГБ.

Итак, каковы плюсы и минусы этого подхода? - могу ли я просто связать таблицы базы данных sybase с помощью DSN или строки подключения в VBA и продолжить? - Потребуются ли какие-либо особые соображения при навигации и обновлении / удалении записей через формы ms-access?

Спасибо за помощь


person Community    schedule 13.05.2009    source источник
comment
Если вы использовали серверную часть Jet в своем текущем сценарии, это не установка клиент / сервер, поскольку нет сервера, а есть файловый сервер, связанный с серверной частью Jet.   -  person David-W-Fenton    schedule 14.05.2009


Ответы (2)


Сделав и то, и другое, я могу искренне рекомендовать вариант со связанной таблицей как предпочтительный.

В прошлом я работал с интерфейсами Access к серверным модулям MS-SQL Server. В основном это то же самое, что и работа с локальными таблицами доступа, но есть несколько исключений. Я не работал с SQL Anywhere, но у MS_SQL были проблемы с такими вещами, как, например, поля Autonumber (другое поведение для Access).

Я также недавно работал над интерфейсом Access к серверу MS-SQL, где обычные методы подключения доступа не использовались, в пользу табличных функций и хранимых процедур ... это был абсолютный кошмар для программирования, и в значительной степени компенсирует все преимущества работы с Access как инструментом Rad. Если бы я сделал это снова, я бы вместо этого настоял на том, чтобы забыть о Access и использовать VB.Net для внешнего интерфейса. Учитывая, насколько хорош MS Report Server в наши дни, действительно очень мало причин для использования Access.

person YogoZuno    schedule 14.05.2009

Да, вы должны иметь возможность использовать таблицы, связанные ODBC, с вашей базой данных Sybase, если Sybase предоставляет совместимые драйверы ODBC. Однако я бы посоветовал использовать не DSN, а соединение без DSN. У меня есть DSN, определенный на моем компьютере для программирования, и после связывания таблиц я запускаю Doug Код Стила для преобразования в строки подключения без DSN.

Приложение должно в основном просто работать, но есть некоторые вещи, которые могут потребовать настройки. Не ждите улучшения производительности - более вероятно, что вы потеряете производительность. Затем вы можете изучить части приложения, которые не работают должным образом, и оценить, как улучшить их работу с серверной частью. Обычно это включает в себя создание представлений на сервере или написание хранимых процедур (для таких вещей, как вставка или обновление записей) или использование сквозных запросов (чтобы Jet не касался SQL и просто передавал его серверу для выполнения).

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

person David-W-Fenton    schedule 13.05.2009