【问题标题】:Invalid SQL Server Table Object无效的 SQL Server 表对象
【发布时间】:2014-03-17 18:52:27
【问题描述】:

我的服务器只有两个数据库;在一个数据库中,我有一个表:

CREATE TABLE [dbo].[WR_Shipping](
    [ShipmentID] [int] NOT NULL,
    [OrderNumber] [int] NOT NULL,
    [ShippedOn] [datetime] NULL,
    [ShippingMethod] [nvarchar](100) NULL,
    [ShippingTrackingNumber] [nvarchar](100) NULL,
    [ShippedVIA] [nvarchar](100) NULL,
    [TrackingURLAppConfig] [nvarchar](100) NULL,
    [ShipmentNotes] [nvarchar](max) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

当我以管理员身份登录 SQL Server 管理器时,我可以毫无问题地从表中读取数据。我的 Web 应用程序使用不同的用户 ID 登录到服务器。我检查了该用户 ID 对整个数据库具有 SELECTUPDATEINSERTDELETEEXECUTE 权限。我还检查以确保该表的有效权限对于该用户是正确的。我什至像 Web 应用程序一样登录到 SSMS,并且可以毫无问题地执行SELECT * FROM WR_Shipping。但是,我可以毫无问题地执行SELECT * FROM Product

我已经多次删除并重新创建了表。我的生产数据库中运行着同一个表,我可以使用相同的代码毫无问题地连接到它。

我已经尝试了所有我能想到的命名表的方法:WR_Shippingwr_shippingdbo.WR_Shipping[database].dbo.WR_Shipping。这些都不起作用;都产生相同的错误。但是,它们都可以在 SQL Server 管理控制台中正常工作。我什至不能从网络应用程序运行像SELECT * FROM WR_Shipping 这样简单的东西。

我收到的错误是System.Data.SqlClient.SqlException: Invalid object name 'WR_Shipping'. 当我尝试执行 SqlCommand.ExecuteReader 时抛出此错误。该命令位于我在整个网络应用程序中使用的例程中。它接受一个字符串(SQL)和一个连接,并返回一个IDataReader

更新

我已经尝试了这里建议的所有方法,但均无济于事。我尝试的每个查询都有效,即使针对同一数据库和架构中的其他表也是如此。这一张桌子从来没有工作过。我最终克隆了生产数据库并将其用作我的测试数据库,而不是继续使用该数据库。以前我刚刚对两个数据库(生产和测试)进行了相同的更改。

【问题讨论】:

  • 您的 sql 脚本仅从该表中检索数据?
  • 正确。我什至无法执行select * from wr_shipping 而不会出现错误。
  • 请澄清一下:如果您使用您在代码中使用的用户 ID 登录 SSMS,您可以从表中选择吗?
  • 同一台服务器下有多少个数据库?是的,当您登录 SSMS 时,您在连接字符串中使用了销售登录信息,应该没有问题。
  • @ThitLwinOo 服务器上有两个数据库。

标签: asp.net sql .net sql-server database


【解决方案1】:

首先,验证存储在应用程序配置文件中的连接字符串是否正确。

假设一切看起来都不错,试试这两个项目:

在您的代码中,在您的命令的 ExecuteReader(或类似的)之前设置一个断点。当您命中断点时,深入查看命令的 Connection 属性,并检查正在使用的连接字符串。确保连接字符串是您所期望的。

如果这不能确定问题,并且如果您有权使用 SQL Profiler,请设置会话以捕获使用应用程序的用户 ID 访问数据库的流量。当您尝试您的代码时,请查看实际发送的 SQL 命令是什么,然后从那里进行调试。

【讨论】:

  • 我可以看到该命令正在执行的 SQL,因此除非它在某些 .Net 库中内部发生更改,否则我知道它对数据库的影响。只有一个连接字符串,对数据库的其他调用工作正常。而且 SQL Server Express 没有 SQL Profiler(据我所知)。 (对不起,我一开始没有提到。)
  • 另外,当我将连接字符串更改为指向生产服务器时,相同的代码运行良好,它必须与数据库相关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
  • 2018-04-22
  • 2018-08-08
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
相关资源
最近更新 更多