0

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

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

如何使用“dbo”模式创建存储过程?存储过程属性对话框的“所有者”下拉列表设置为用户名,并且不能更改为 dbo,即使用户处于“db_owner”角色。

4

3 回答 3

0

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

于 2009-06-03T18:20:54.787 回答
0

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

顺便说一句,您可能想查看特定的 SQL Server 管理工具(SQL Server 2005 附带的 Management Studio 或免费下载的 2005 或 2008 快速版本),这为 DDL 类型的任务提供了更丰富的界面。

于 2009-06-03T20:37:30.877 回答
0

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

这样做的步骤(在 Management Studio 中):

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

缺点 - db_owner 角色下的其他用户仍将附加他们的用户名。所以必须为这些用户创建模式。

于 2009-06-04T10:15:07.597 回答