我有一个带有 SQL Server 2005 后端的 Access 2007 项目。但是,在 Access 中创建新的存储过程时,会出现错误:
ADO 错误:特定架构名称 DOMAIN\username 不存在或您无权使用它
如何使用“dbo”模式创建存储过程?存储过程属性对话框的“所有者”下拉列表设置为用户名,并且不能更改为 dbo,即使用户处于“db_owner”角色。
我有一个带有 SQL Server 2005 后端的 Access 2007 项目。但是,在 Access 中创建新的存储过程时,会出现错误:
ADO 错误:特定架构名称 DOMAIN\username 不存在或您无权使用它
如何使用“dbo”模式创建存储过程?存储过程属性对话框的“所有者”下拉列表设置为用户名,并且不能更改为 dbo,即使用户处于“db_owner”角色。
好的,我会让人们在 SQL Server 上创建过程,而不是在其中将 dbo 添加到创建过程代码中。如果您不能这样做,也许您可以在使用 sp_changeobjectowner 创建所有者后运行代码来更改所有者
尝试使用户成为 dbo 模式的成员,而不是 db_owner。我就是这样做的。
顺便说一句,您可能想查看特定的 SQL Server 管理工具(SQL Server 2005 附带的 Management Studio 或免费下载的 2005 或 2008 快速版本),这为 DDL 类型的任务提供了更丰富的界面。
设法解决它。如果您使用户成为数据库的所有者(而不是具有 db_owner 角色的用户),当您在 Access 2007 中创建存储过程时,它会在 dbo 架构而不是 DOMAIN\username 下创建它。
这样做的步骤(在 Management Studio 中):
缺点 - db_owner 角色下的其他用户仍将附加他们的用户名。所以必须为这些用户创建模式。