2011-11-03 135 views
0

我想运行一个查询,如下所示的查询时:Asp.net无效的对象名称错误运行SQL Server 2008

SqlCommand putuser = new SqlCommand("INSERT INTO MainDB(NumberofEmployees) VALUES(4)", cn); 

putuser.ExecuteNonQuery(); 

我得到一个无效的对象名称错误名为MainDB表。 我查看了以下内容:

  1. 查询在数据库中运行时工作。
  2. 我连接到正确的数据库。
  3. 数据库确实有一个表名。

我正在使用表单身份验证。我如何做到这一点,以便任何访问应用程序的人都可以将此插入到数据库中。插入最初发生在用户创建后。

+1

这将是有帮助的从这里异常的消息。 –

+0

如果将其更改为'dbo.MainDB',该怎么办? – V4Vendetta

+0

“我如何制作它,以便任何访问应用程序的人都可以将此插入到数据库中。”如果我理解正确,这将在连接字符串中指定:http://geekdeck.com/understanding-sql-server-connection-string/(请参阅集成安全性)。 –

回答

0

您是否在使用Windows身份验证或SQL Server身份验证的连接字符串?

如果使用SQL Server身份验证,使用方法:

<add name="ConnectionString" 
    connectionString="Data Source=127.0.0.1; Initial Catalog=DataBase;Persist Security Info=True;User ID=user; Password=password 

,那么你需要确保用户可以访问数据库和架构正在使用。

如果您使用的是Windows身份验证,使用

<add name="ConnectionString" 
    connectionString="Data Source=127.0.0.1; Initial Catalog=DataBase;Trusted_Connection=Yes;Persist Security Info=True;"/> 

,那么你需要确保你使用的是在您的App_Pool(运行应用程序的Windows帐户)的用户添加为登录/用户在数据库上,并有权运行查询。

编辑

您可以使用SQL Server Management Studio中要做到这一点,一步一步的指示,可以发现herehere

+0

感谢您的帮助,我将如何确保用户有权运行查询?我使用MS SQL 2008的管理工作室。 – Fernando

+0

检查编辑并接受答案,如果它解决了您的问题 – Constantin

相关问题