Попытка распространить приложение доступа с помощью SQL Server Backend - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь использовать пакетное решение для своего приложения Access 2010, бэкэнд которого связан с SQL Server.В настоящее время я использую файл .accdb в качестве внешнего интерфейса и хотел бы распространить свое приложение на некоторые другие компьютеры Windows, но пакетное решение не работает.У меня был пакет, включающий Access Runtime, поэтому их версия веб-интерфейса работает в среде выполнения, а не в режиме полного доступа.Однако, как только приложение делает запрос к бэкэнду, приложение ничего не делает, так как я даже не запрашиваю пароль SQL, как обычно в полной версии.Я читал о том, что включение в пакет файла .dsn может обеспечить безопасность соединения SQL (см. Здесь) , но выполнение других руководств по созданию файлов .dsn не привело ни к каким результатам.Кто-нибудь знает, как правильно сгенерировать файл .dsn или я сделал что-то еще не так на этом этапе?

(И да, я понимаю, что использование Access 2010 в 2019 году - это почти шутка на данный момент, но я делаю это в целях тестирования. Я планирую полностью переделать внешний интерфейс в Angular в будущем.)

Еще одно не связанное примечание ... было бы лучше, чтобы внешний интерфейс был размещен какфайл .html, например, через процесс «Публикация в службах доступа»?Я читал, что Access Services был прекращен в прошлом году, так что это будет невозможно?

Редактировать: Это не дубликат «DSN Less Connection (MS Access to SQL2016)», потому что A) Я хочу использоватьСоединение DSN, не DSN-less и B) Я не использую строки соединения в своем коде для соединения с SQL.

1 Ответ

1 голос
/ 02 апреля 2019

Вы должны иметь возможность просто создать FILE dsn, связать свои таблицы, а затем распространить скомпилированный accDE для каждого рабочего стола.

Однако, какого поставщика исходного кода SQL odbc вы использовали?Если вы используете провайдера ODBC для SQL-сервера, он устанавливается по умолчанию на каждом компьютере.

Однако, если вы установили связь с использованием Native 11 (или более поздней версии), этот драйвер по умолчанию НЕ установлен на каждой рабочей станции.Поэтому я НАСТОЯТЕЛЬНО рекомендую вам создать ФАЙЛ DSN (не DSN пользователя или системы) и связать таблицу, используя это.(Access создаст для вас ссылки без DSN)

И вы НЕ должны видеть приглашение входа в систему с вашим приложением.Это говорит о том, что вы забыли или пропустили опцию сохранения пароля.

Итак, я бы перекомпоновал ваши таблицы, создав новый DSLE FILE.А если вы используете менеджер связанных таблиц, убедитесь, что вы проверили запрос на новое местоположение, чтобы принудительно создать новый DSN.Если вы просто обновитесь, у вас НЕ будет возможности щелкнуть опцию сохранения пароля во время процесса связывания.

Итак, какой драйвер odbc вы используете?Родные 11 или более поздние версии лучше, но они не установлены по умолчанию на каждой рабочей станции.Однако, здесь ВНИМАНИЕ требуется, так как старый драйвер sql НЕ поддерживает более новые форматы datetime2.Если вы использовали эти более новые типы столбцов sql, они будут возвращены как строковые типы данных в Access и создадут кучу проблем.

Итак, во-первых, я бы пересвязал с использованием FILE dsn.Обязательно проверяйте пароль сохранения во время повторной ссылки.

Затем вы компилируете свой accDB в accDE, а затем распространяете его.Вам на самом деле не нужно использовать мастер пакетов, так как после того, как на каждой рабочей станции будет установлена ​​среда выполнения, простая копия accDE для каждого компьютера будет работать нормально.Никакой особой связи между вашим accDE и мастером пакетов НЕТ.После установки среды выполнения можно просто нажать любую и все mdb, accDB и ваш accDE, чтобы запустить + запустить.Поэтому для тестирования вы можете пропустить мастер пакетов и просто скопировать accDE на целевой компьютер, щелкнуть по нему и посмотреть, работает ли он.

Редактировать

Подсказка и флажок во времяэтот процесс таков:

enter image description here

Таким образом, вы должны установить этот флажок, чтобы сохранить пароль.Обратите внимание, что вы получаете это диалоговое окно ТОЛЬКО при создании нового файла DSN.

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