Создание хранимой процедуры SQL Server из Access 2007 - изменение схемы - PullRequest
0 голосов
/ 03 июня 2009

У меня есть проект Access 2007 с бэкэндом SQL Server 2005. Однако при создании новой хранимой процедуры из Access возникает ошибка:

Ошибка ADO: имя конкретной схемы DOMAIN \ username либо не существует, либо у вас нет разрешения на его использование

Как вы можете создать хранимую процедуру, используя вместо этого схему 'dbo'? В диалоговом окне свойств хранимой процедуры в раскрывающемся списке «владелец» указано имя пользователя, и его нельзя изменить на dbo, даже если пользователь играет роль «db_owner».

Ответы [ 3 ]

0 голосов
/ 04 июня 2009

Попробуйте сделать пользователя членом схемы dbo, а не db_owner. Вот как я это делаю.

Кроме того, вы можете обратиться к конкретному инструменту управления SQL Server (Management Studio, поставляемая с SQL Server 2005 или версиями Express 2005 или 2008, которые можно бесплатно загрузить), что обеспечивает более богатый интерфейс для задач типа DDL. .

0 голосов
/ 04 июня 2009

удалось решить. Если вы делаете пользователя владельцем базы данных (а не пользователем с ролью db_owner), когда вы создаете хранимую процедуру в Access 2007, она создает ее в схеме dbo, а не DOMAIN \ username.

Шаги для этого (в Management Studio):

  • Щелкните правой кнопкой мыши базу данных, выберите Свойства
  • Нажмите Файл
  • Сменить владельца в текстовом поле
  • ОК, чтобы подтвердить

Недостаток - другим пользователям с ролью db_owner все равно будет добавлено их имя пользователя. Поэтому для этих пользователей должны быть созданы схемы.

0 голосов
/ 03 июня 2009

ОК. Я бы хотел, чтобы люди создавали проки на SQL Server, где вы можете добавить dbo в код создания прока. Если вы не можете этого сделать, возможно, вы можете запустить код для изменения владельца после его создания с помощью sp_changeobjectowner

...