Я бы наверняка «согласовал» все связанные таблицы с одним и тем же соединением.
Для этого можно использовать менеджер связанных таблиц, но, вероятно, код лучше.
ВыНужно выбрать все таблицы в менеджере связанных таблиц, и УБЕДИТЕСЬ, что вы нажимаете на подсказку для нового местоположения.Это заставит вас создать (или выбрать) существующий DSN.На самом деле, я выбрал бы все таблицы из «одной» данной базы данных, а затем щелкнул «всегда» для поиска нового местоположения.Когда вы сделаете это, все будут иметь ту же ссылку и строку подключения.
Есть много причин, одна из которых - Access будет кешировать соединение для вас.Поэтому, если у вас есть «разные» соединения для одной и той же базы данных, у вас будет несколько кешей этих соединений.Это, вероятно, не сильно повлияет на производительность, но все же это хорошая идея.
И если вы НЕ используете доверенное соединение, то в ваших строках соединения на самом деле НЕ нужно включать uid / пароль.(Однако для кэша uid / пароля требуются точные совпадения строк (за исключением uid / пароля). При таком подходе вы можете выполнить «однократный» вход в систему при запуске приложения, а затем все связанные таблицы (без uid /пароль) теперь будет работать. Однако вы используете здесь доверенные соединения, так что этот совет + проблема не имеет значения.
В вашем примере вы используете надежные соединения, поэтому проблемы «намного» меньше волнуют илипроблема.
Я также настоятельно рекомендую, чтобы при запуске диспетчера ODBC из Access вы ВСЕГДА, но ВСЕГДА использовали dsn ФАЙЛА. Причина этого заключается в том, что тогда Access преобразует соединения в DSN-менее для вас..
Это означает, что теперь вы можете развернуть приложение переднего плана на любой рабочей станции, и вам не нужно настраивать или копировать какое-либо соединение DSN, или даже настраивать на рабочей станции.
Таким образом, я бы фактически выбрал все таблицы для одной данной базы данных (проверьте запрос на новое местоположение), а затем создал бы файл FILE dsn (онив любом случае по умолчанию).Как только вы сделаете ссылку, сделайте то же самое для всех других таблиц, которые указывают на другую базу данных.Снова выполните повторное связывание.
В результате будет установлено соединение без DSN, и, следовательно, ваше приложение будет работать на любой рабочей станции в сети, причем без необходимости настраивать DSN любого типа на каждой рабочей станции.
Так что да, вам не нужно, но со временем некоторые таблицы были связаны с использованием другого DSN, их следует согласовать.И если вы когда-нибудь введете какой-нибудь код автоматического связывания, вы захотите различить две базы данных, и вам будет довольно сложно сделать это с «мешаниной» с различными соединениями.
вы можете использовать менеджер связанных таблиц для согласования соединений - просто убедитесь, что вы выбрали все таблицы из одной заданной базы данных, а затем повторно связали с FILE dsn, в результате соединение будет менее DSN (доступ будет использовать ТОЛЬКО во время DSN во времяпроцесс связывания - после этого доступу все равно, он не использует и даже не смотрит на DSN, или даже если он существует.
С учетом всего вышесказанного не ясно, является ли эта проблемасвязанных с вашими ошибками или нестабильностью в вашем приложении (хорошая идея - всегда распространять скомпилированную версию вашего приложения - (в отличие от accDEB).