Membership.DeleteUser引发的诡异数据库错误,请指教,急

karldodd 2006-10-30 12:20:55
一直以来运转良好的系统,采用了.net 2.0的用户管理框架。最近实现删除用户的功能。只是很简单地调用了Membership.DeleteUser而已,但报错如下。从错误上来看,是删除违反了外键冲突。但这些不都应该是.net 2.0用户管理框架的存储过程负责的么?怎么会有错?

有一点:在开发的机器上调试时无错,在部署后出的错。

Server Error in '/' Application.
--------------------------------------------------------------------------------

SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
The DELETE statement conflicted with the REFERENCE constraint "FK__aspnet_Me__UserI__3493CFA7". The conflict occurred in database "CallCenter", table "dbo.aspnet_Membership", column 'UserId'.
The statement has been terminated.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
The DELETE statement conflicted with the REFERENCE constraint "FK__aspnet_Me__UserI__3493CFA7". The conflict occurred in database "CallCenter", table "dbo.aspnet_Membership", column 'UserId'.
The statement has been terminated.

Source Error:

Line 38: string strUsername = Request["Username"];
Line 39: //MembershipUser member = Membership.GetUser(strUsername, false);
Line 40: Membership.DeleteUser(strUsername);
Line 41: Response.Redirect("ManageUsers.aspx");
Line 42: }


Source File: ***:\***\***\ViewUserDetail.aspx.cs Line: 40

Stack Trace:

[SqlException (0x80131904): SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
SELECT permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.
The DELETE statement conflicted with the REFERENCE constraint "FK__aspnet_Me__UserI__3493CFA7". The conflict occurred in database "CallCenter", table "dbo.aspnet_Membership", column 'UserId'.
The statement has been terminated.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857434
……
……
...全文
112 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
neosu 2006-10-30
  • 打赏
  • 举报
回复
permission denied on object 'sysobjects', database 'mssqlsystemresource', schema 'sys'

看上去是权限问题。

Hyperledger (超级账本)是区块链行业中最大的项目之一,它由一组开源工具和多个子项目组成。该项目是由 Linux 基金会主办的一个全球协作项目,其中包括一些不同领域的LEADER们,这些leader的目标是建立一个强大的、业务驱动的区块链框架。 区块链网络主要有三种类型:公共区块链、联盟或联合区块链,以及私有区块链。Hyperledger 是一个区块链框架,旨在帮助公司建立私人或联盟许可的区块链网络,在该网络中,多个组织可以共享控制和操作网络内节点的权限。 因为区块链是一个透明的,基于不可变模式的安全的去中心化系统,所以它被认为是传统的供应链行业改变游戏规则的一种解决方案。它可以通过以下方式支持有效的供应链系统: 跟踪整个区块链中的产品 校验和验证区块链中的产品 在供应链参与者之间共享整个区块链的信息 提供可审核性 本文通过食品供应链的例子来解释 Hyperledger 区块链是如何改变传统供应链系统的。 食品行业供应链 传统供应链效率低下的主要原因是由于缺乏透明度而导致报告不可靠和竞争上的劣势。 在传统的供应链模式中,有关实体的信息对该区块链中的其他人来说并不完全透明,这就导致了不准确的报告和缺乏互操作性问题。电子邮件和印刷文档提供了一些信息,但它们不可能包含完整详细的可见性数据,因为很难在整个供应链中去追踪产品。这也使消费者几乎不可能知道产品的真正价值和来源。 食品行业的供应链环境复杂,多个参与者需要协作将货物运送到最终目的地 —— 客户手中。下图显示了食品供应链(多级)网络中的主要参与者。  典型的食品供应链 该区块链的每个阶段都会引入潜在的安全问题、整合问题和其他低效问题。目前食品供应链中的主要威胁仍然是假冒食品和食品欺诈。 基于 Hyperledger 区块链的食品跟踪系统可实现对食品信息全面的可视性和和可追溯性。更重要的是,它以一种不变但可行的方式来记录产品细节,确保食品信息的真实性。最终用户通过在不可变框架上共享产品的详细信息,可以自我验证产品的真实性。 Hyperledger Fabric Hyperledger Fabric 是 Hyperledger 项目的基石。它是基于许可的区块链,或者更准确地说是一种分布式分类帐技术(DLT),该技术最初由 IBM 公司和 Digital Asset 创建。分布式分类帐技术被设计为具有不同组件的模块化框架(概述如下)。它也是提供可插入的共识模型的一种灵活的解决方案,尽管它目前仅提供基于投票的许可共识(假设今天的 Hyperledger 网络在部分可信赖的环境中运行)。 鉴于此,无需匿名矿工来验证交易,也无需用作激励措施的相关货币。所有的参与者必须经过身份验证才能参与到该区块链进行交易。与以太坊一样,Hyperledger Fabric 支持智能合约,在 Hyperledger 中称为Chaincodes(链码),这些合约描述并执行系统的应用程序逻辑。 然而,与以太坊不同,Hyperledger Fabric 不需要昂贵的挖矿计算来提交交易,因此它有助于构建可以在更短的延迟内进行扩展的区块链。 Hyperledger Fabric 不同于以太坊或比特币这样的区块链,不仅在于它们类型不同,或者说是它与货币无关,而且它们在内部机制方面也不同。以下是典型的 Hyperledger 网络的关键要素: 账本(Ledgers):存储了一系列块,这些块保留了所有状态交易的所有不可变历史记录。 节点(Nodes):区块链的逻辑实体。它有三种类型: 客户端(Clients):是代表用户向网络提交事务的应用程序。 对等体(Peers):是提交交易并维护分类帐状态的实体。 排序者(Orderers) 在客户端和对等体之间创建共享通信渠道,还将区块链交易打包成块发送给遵从的对等体节点。 除了这些要素,Hyperledger Fabric 还有以下关键设计功能: 链码(Chaincode):类似于其它诸如以太坊的网络中的智能合约。它是用一种更高级的语言编写的程序,在针对分类帐当前状态的数据库执行。 通道(Channels):用于在多个网络成员之间共享机密信息的专用通信子网。每笔交易都在一个只有经过身份验证和授权的各方可见的通道上执行。 背书人(Endorsers) 验证交易,调用链码,并将背书的交易结果返回给调用应用程序。 成员服务提供商(Membership Services Providers)(MSP)通过颁发和验证证书来提供身份验证和身份验证过程。MSP 确定信任哪些证书颁发机构(CA)去定义信任域的成员,并确定成员可能扮演的特定角色(成员、管理员等)。 Hyperledger 交易验证流程 首先,客户端通过向基于 Hyperledger Fabric 的应用程序客户端发送求来启动交易,该客户端将交易提议提交给

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧