Есть ли какие-либо проблемы с подключением MS Access к базе данных SQL Server, о которых мне следует знать? - PullRequest
0 голосов
/ 22 мая 2009

У меня проблема с Microsoft Dynamics GP, и я провожу исследование, чтобы выяснить, является ли это причиной, но это может быть проблема с доступом к SQL Server. GP хранит данные в SQL Server, а MS Access используется для доступа к данным таблицы. Некоторые данные отсутствуют в производственной базе данных. К сожалению, я не знаю, что делается с Access, так как это мне не раскрывается. Простым решением было бы сказать им, чтобы они прекратили использовать Access для проверки отсутствия данных, но я хотел бы знать о любых задокументированных проблемах, прежде чем предложить это.

Итак, пытаясь высказать предположение о том, что происходит, что делает Access, когда он подключен к SQL Server в качестве серверной части? Это блокирует таблицы? Что нужно сделать, чтобы данные отсутствовали или были удалены? Если причиной является доступ, какие шаги необходимо предпринять для его устранения?

Ответы [ 2 ]

3 голосов
/ 22 мая 2009

Вы намерены разрешить Access доступ для изменения или удаления данных?

Если нет, рассматривали ли вы вопрос об установке идентификатора пользователя для использования Access, который разрешает доступ только для чтения (без каламбура)?

В любом случае рекомендуется использовать SQL Server с минимальными правами доступа, необходимыми для удовлетворения бизнес-требований. Пожалуйста, не давайте всем учетную запись sa с пустым паролем.

EDIT:

Думайте о Access как о SQL Server Management Studio, другими словами, об интерактивном инструменте, который можно использовать для запроса и изменения базы данных практически неограниченным образом, при условии, что ваша учетная запись имеет разрешения, позволяющие вам это делать. Поскольку это интерактивная среда, в которой можно открыть таблицу, удалить строку так же просто, как щелкнуть эту строку и нажать клавишу удаления. Подобным образом изменить значение данных так же просто, как щелкнуть по этой строке и столбцу и ввести новое значение.

Конечно, удалить что-то так же просто, как случайно нажать клавишу удаления.

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

2 голосов
/ 22 мая 2009

Доступ к данным SQL Server обычно осуществляется в MSACCESS с использованием связанных таблиц, которые являются соединениями ODBC / OLEDB. Хотя эта технология несколько устарела и не совсем свободна от ошибок, я не могу придумать ничего из базовой технологии, которая может быть причиной этого.

Ваши обычные пользователи получают доступ к этим таблицам, используя источник данных ODBC или строку подключения, содержащую идентификатор администратора и пароль к базе данных SQL Server (то есть неограниченные права)? Если они есть, недостающие данные будут даны. Удалить строки в открытой связанной таблице MSACCESS так же просто, как удалить строки в Excel.

Блокировка записи в соединениях MSACCESS / SQL обычно оптимистична (если вы ее не измените). В старые времена под SQL Server 2000 это означало, что если два человека одновременно редактировали одну и ту же запись, то тот, кто спас последний, победил (молча). В настоящее время последнему сохраненному человеку сообщается, что кто-то еще редактировал запись, когда они вносили изменения, и предлагает два варианта: отменить мои изменения или перезаписать изменения другого человека.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...