Обновление имени подключения к серверу 2013 - PullRequest
0 голосов
/ 18 сентября 2018

Возникли проблемы с поиском чего-то, что должно быть легко.

В любом случае в настоящее время наша база данных доступа связала таблицу с другим сервером.Мне нужно обновить имя сервера и базы данных.Я попробовал и отлично работает для меня.

Конечный пользователь проверил и говорит, что соединение с ODBC, которое я установил, не удалось.Не уверен, почему он это делает.

любая помощь будет отличной.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Для доступа по умолчанию используются соединения без DSN.

Поэтому необходимо запустить диспетчер связанных таблиц.Если вы будете следовать указаниям по умолчанию для создания DSN (это dsn FILE), то когда Access связывает таблицы, они преобразуются в ссылки без DSN.

Это означает: вам не нужнозапустите некоторый код VBA при запуске.

Вам не нужно создавать соединения без DSN, поскольку Access по умолчанию создает и использует ссылки DSN.

Вам не нужно настраиватьDSN на каждом компьютере.

Так что просто запустите менеджер связанных таблиц.Получите ссылки, работающие на вашем компьютере.Если вы уверены, что ссылки работают, то обычно следующим шагом является создание скомпилированного accDE.

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

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

Редактировать: ВСЕ, что здесь требуется, это щелкнуть мышью и ввести имя для ФАЙЛА dsn.Помните, доступ не требует этой ссылки после вас.Помните, что доступ создаст для вас соединение без DSN.Помните, что вам НЕ нужно копировать или настраивать DSN на целевом компьютере.

Шаги:

нажмите кнопку ODBC - лента - вкладка внешних данных

enter image description here

Мы хотим связать с сервером sql, НЕ импортировать, поэтому:

enter image description here

Сейчасэто может сбить с толку пользователей, потому что OFTEN Windows 10, следующая папка заблокирована - у вас нет прав администратора, поэтому нажмите на новую, не используйте эту папку по умолчанию, если вы не запустили доступ как «администратор», и выскорее всего нет.Итак, нажмите новый:

enter image description here

Теперь выберите драйвер SQL.Я использую устаревший "драйвер sql".Если вы использовали более новые и более поздние типы данных, то вы хотите выбрать «родной 11» или более поздний драйвер.Однако этот драйвер НЕ установлен на каждой рабочей станции по умолчанию - но sql один.

enter image description here

Поэтому просмотрите мои документы, введите имя инапример, сохранить:

enter image description here

Теперь вы вернулись к этому диалоговому окну:

enter image description here

Мы СЕЙЧАС готовы начать ввод информации для соединения:

Окончание нажатия:

enter image description here

Теперь для описания -нам все равно !!!

Однако для имени сервера необходимо ввести

SERVERNAME \ NAME OF SQL INSTANCE.

Если вы используете SQL Express local, тоlocalhost подходит для имени сервера, а DEFAULT для сервера sql - SQLEXPRESS.Вам ДЕЙСТВИТЕЛЬНО нужно имя экземпляра sql и ТАКЖЕ имя сервера (в моем примере localhost - это имя, но может быть server01 \ SQLEXPRESS или любым другим)

enter image description here

введите логин + пароль.Если вы используете «проверку подлинности Windows», то вход в систему не требуется.

enter image description here

УБЕДИТЕСЬ, что вы выбрали / установили правильную базу данных.Если поле серого цвета, у вас есть ТОЛЬКО права на выбор по умолчанию, который вы не сможете изменить.

enter image description here

Теперь нажмите следующий

enter image description here

Теперь выберите ваши таблицы.НЕ забудьте нажать / проверить опцию СОХРАНИТЬ пароль

enter image description here

Так что это экранные заглушки.В результате получается соединение DSN-LESS.

========= Edit2: для таблиц EXISTING и указания их на новый сервер?

Вы просто запускаете связанную таблицуменеджер: enter image description here

Теперь УБЕДИТЕСЬ, что вы выбрали подсказку для нового местоположения.(эта опция принудительно + позволяет вам выбрать НОВЫЙ или другой сервер для связи с существующими таблицами.

enter image description here

В этот момент времени вы СЕЙЧАС соблюдаетеТочно такие же шаги, как указано выше, чтобы создать новую ссылку, ноis позволит вам связать + указать другой сервер для существующих связанных таблиц.

0 голосов
/ 18 сентября 2018

На ПК конечного пользователя может произойти сбой соединения, если на их ПК не настроено имя источника данных ODBC (DSN), как у вас.

Чтобы преодолеть это требование, я обычно использую некоторыекод, подобный этому, в стандартном модуле

Const MY_CONNECTION As String = "ODBC;DRIVER={SQL Server};SERVER=TheServerName;DATABASE=TheDatabaseName;Trusted_Connection=Yes"

Public Sub ReConnect()

    Dim tdf As TableDef ' for linked tables
    Dim qdf As QueryDef ' for pass through queries

    With CurrentDb
        For Each tdf In .TableDefs
            With tdf
                If (.Attributes And dbAttachedODBC) = dbAttachedODBC Then
                    .Connect = MY_CONNECTION
                    .RefreshLink
                End If
            End With
        Next
        For Each qdf In .QueryDefs
            With qdf
                If .Type = dbQSQLPassThrough Or .Type = dbQSPTBulk Then
                    .Connect = MY_CONNECTION
                End If
                .Close
            End With
        Next
    End With

End Sub

Я запускаю эту процедуру вручную перед распространением интерфейса доступа.

...