MS Access: как найти «квалификатора» и «владельца» - PullRequest
2 голосов
/ 18 августа 2010

Это может показаться глупым вопросом, но будьте уверены, мне не нужна общая справка по базе данных, а именно MS Access. Это не было бы проблемой, если бы я работал с любой другой базой данных.

Мне нужно найти первичные ключи из таблицы MS Access, используя PHP с подключением ODBC. Я нашел две PHP-функции, которые предположительно могут это сделать, но я не совсем понимаю, какими должны быть параметры, так как в документации нет подробностей.

ПРИМЕЧАНИЕ. Суть в том, чтобы получить имена (и предпочтительно типы) первичных ключей таблицы. Если это может быть достигнуто без спецификатора и владельца, проблема решена.

Это самая перспективная функция:

resource odbc_primarykeys  ( resource $connection_id  , string $qualifier  , string $owner  , string $table  )

Документация: http://www.php.net/manual/en/function.odbc-primarykeys.php

А вот и другое:

resource odbc_specialcolumns  ( resource $connection_id  , int $type  , string $qualifier  , string $owner  , string $table  , int $scope  , int $nullable  )

Документация: http://www.php.net/manual/en/function.odbc-specialcolumns.php

Единственные параметры, с которыми я сталкиваюсь, - это "квалификатор" и "владелец".

Насколько я понимаю, «квалификатор» означает «имя базы данных» на обычном языке, а «владелец» означает, собственно, владельца базы данных (или таблицы). Моя проблема в том, что я не знаю, что на самом деле является «владельцем» базы данных, и я не могу понять, какое имя базы данных должно быть в программном контексте. Насколько я могу судить, это просто файл, который вы открываете двойным щелчком, и в этот момент я должным образом вижу таблицы, столбцы, строки, первичные ключи и все другие объекты, которые можно ожидать в базе данных, но, увы, без базы данных. имя указано где угодно.

Это особенно расстраивает, потому что мне не нужно знать ни "квалификатор", ни владельца для подключения, SELECT, INSERT, UPDATE и DELETE из базы данных. ;)

Есть ли запрос или место в MS Access 2007, где я могу найти:

а) "владелец",

b) «квалификатор» (или «имя базы данных»)

Заранее спасибо!

1 Ответ

1 голос
/ 18 августа 2010

Владельцем всех объектов (таблиц и т. Д.) В MS Access по умолчанию является учетная запись «Администратор», у которой нет пароля.

Вы можете найти это, посмотрев здесь:

  • Инструменты-> Безопасность-Права пользователя и группы
  • Инструменты-> Безопасность-Учетные записи пользователей и групп

Я рискну предположить, что классификатор на самом деле не важен. Примеры, которые я видел с MS SQL, похоже, используют имя базы данных (которых может быть много на сервере MS SQL). Я предлагаю попробовать его с помощью «» или «ноль» в поле квалификатора и «Администратор» для владельца (возможно, вам удастся найти способ с помощью «» или «ноль»).

...