MS Access: при создании связанной таблицы в представлении руководства по проектированию таблицы, на которые есть ссылки, не отображаются? - PullRequest
0 голосов
/ 25 апреля 2019

В MS Access 2010 я пытаюсь создать связанную таблицу с таблицей Oracle.

Когда я использую традиционный способ сделать это через меню MS Access:

Внешние данные> База данных ODBC> Ссылка на данные путем создания связанной таблица

Я не вижу таблиц на своем сервере Oracle, из которых я могу выбрать. Форма пуста, хотя я знаю, что на моем сервере много таблиц.

В чем здесь проблема?

Может быть, соединение с ODBC, которое я вынужден использовать, - Системный DSN в обзоре «Администратор источника данных ODBC » под панелью управления. Примечание: соединение работает в других программах, так что это не проблема.



PS: я, конечно, могу сделать это с помощью кода VBA, что можно сделать, как показано здесь:

Код шаблона взят здесь: https://www.techonthenet.com/access/modules/link_table.php


Вот код шаблона по ссылке:

DoCmd.TransferDatabase acLink, "ODBC Database", "ODBC;DSN=AAAA;UID=BBBB;PWD=DDDD;SERVER=CCCC", acTable, "schema.table_name", "Access_table_name", False, False

А вот и комментарии по ссылке:

Обратите внимание, что вам нужно настроить вышеуказанную строку кода, поэтому что:

AAAA - это имя источника данных ODBC, который вы настроили. BBBB это имя пользователя, которое вы будете использовать для входа в Oracle. CCCC - это название ваш сервер Oracle. DDDD - это пароль, который вы будете использовать для входа Oracle. schema.table_name - это таблица в Oracle, которую вы хотите связать к. Например, "collect.suppliers". Access_table_name это имя что вы хотите, чтобы Access назначил для связанной таблицы. Например, "поставщики".

Ответы [ 3 ]

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

Убедитесь, что драйвер ODBC соответствует вашей версии Access
32-битный Access <-> 32-битный ODBC
64-битный Access <-> 64-битный ODBC

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

У вас есть несколько хороших комментариев здесь.Если вы запустите панель ODBC с панели управления, она запустит 64-разрядную версию диспетчера ODBC.Однако большинство версий Access имеют разрядность 32 х.

Самый простой способ убедиться, что вы используете правильный менеджер размера ODBC, - это позволить Access запустить панель ODBC для вас.(и это часто помогает, если вы щелкнете правой кнопкой мыши по ярлыку доступа и выберете «Запуск от имени администратора».

Как отмечали другие, при настройке DSN выполните две вещи: Убедитесь, что во время создания соединения вы выбралибаза данных (по умолчанию, как правило, системная, и в ней будет показана целая куча системных таблиц, но ни одна из тех, которые вам нужны - вы хотите выбрать / выбрать свою базу данных. Она должна появиться в раскрывающемся списке.

Сервер SQL (не оракул) на нескольких панелях покажет, где вы выбираете базу данных:

enter image description here

ОЧЕНЬ важно, вы также хотите проверитьПоле «Сохранить пароль» - это ТОЛЬКО появляется при создании нового DSN - если вы пропустите это, то повторное связывание никогда не запросит у вас пароль - поэтому не забудьте эту опцию:

enter image description here

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

Далее: создайте DSN ФАЙЛА.причина тОн заключается в том, что Access преобразует это в автоматическое соединение без DSN.Это означает, что вы можете переместить базу данных на другие машины или даже удалить созданный вами DSN.Access ТОЛЬКО использует DSN во время соединения - после этого это не требуется (однако, этот совет относится ТОЛЬКО к ФАЙЛУ DSN - так что это то, что вы хотите создать.

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

При использовании меню необходимо предварительно указать базу данных в DSN (параметр Dbq в строке подключения).

Если вы не укажете базу данных заранее, MS Access не будетзнать, в какой базе данных искать таблицы, и она не будет делать все или все, к чему у нее есть доступ, поэтому она просто не делает ничего.

...