从Access 2007创建SQL Server存储过程 - 更改架构

时间:2009-06-03 10:08:29

标签: sql-server sql-server-2005 ms-access ms-access-2007

我有一个带有SQL Server 2005后端的Access 2007项目。但是,从Access中创建新的存储过程时,会出现错误:

  

ADO错误:特定架构名称DOMAIN \ username不存在或您无权使用它

如何使用'dbo'架构创建存储过程?存储过程属性对话框的“所有者”下拉列表设置为用户名,即使用户处于“db_owner”角色,也无法将其更改为dbo。

3 个答案:

答案 0 :(得分:0)

好的我会让人们在SQL Server上创建proc,而不是在dbo中添加dbo到create proc代码。如果您不能这样做,也许您可​​以运行代码来在使用sp_changeobjectowner创建后更改所有者

答案 1 :(得分:0)

尝试使用户成为dbo架构的成员而不是db_owner。我就是这样做的。

另外,您可能需要查看特定的SQL Server管理工具(随SQL Server 2005一起提供的Management Studio或可免费下载的2005或2008快速版本),这为DDL类型任务提供了更丰富的界面

答案 2 :(得分:0)

管理解决它。如果您使用户成为数据库的所有者(而不是具有db_owner角色的用户),则在Access 2007中创建存储过程时,它会在dbo架构下创建它而不是DOMAIN \ username。

执行此操作的步骤(在Management Studio中):

  • 右键单击数据库,选择“属性”
  • 点击文件
  • 在文本框中更改所有者
  • 确认

下行 - db_owner角色下的其他用户仍会附加其用户名。因此必须为这些用户创建模式。