2011-11-03 136 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

相關問題