0

こんにちは、IIS からプロジェクトを実行しているときにレコードをデータベースに挿入しているときにエラーが発生しました。うまく機能している Visual Studio を実行します。

The INSERT permission was denied on the object 'tblPageInfo', database 'master', schema 'dbo'.

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: The INSERT permission was denied on the object 'tblPageInfo', database 'master', schema 'dbo'.

Source Error: 


Line 43:             string s = "insert into tblPageInfo values('" + PageName + "','" +   Url + "','" + PageTitle + "','" + CanonicalUrl + "','" + MetaDescription + "','" +   MetaKeyword + "','" + H1Text + "','" + H2Text + "')";
Line 44:             SqlCommand cmd = new SqlCommand(s, con);
Line 45:             cmd.ExecuteNonQuery();
Line 46:             con.Close();
Line 47:         }

Source File: D:\Kartik\Materials\CMS\CMS\AddPage.aspx.cs    Line: 45 
4

2 に答える 2

2

Web サイトは、許可 (アプリケーション プールの許可) を持たないユーザーのコンテキストで実行されます。おそらく、NetworkService などです。解決策は、データベースに関連するアクセス許可を持つユーザーを作成し、接続文字列で資格情報を明示的に指定することです。

何をしてはいけないかについてのアドバイスはこれです。ただし、統合セキュリティを使用するために、これらのアクセス許可でアプリケーションを実行しているユーザーを許可しないでください。これは悪いです。

于 2013-02-27T13:42:20.970 に答える
1

Visual StudioとIISの両方でweb.configの接続文字列を確認しましたか

于 2013-02-27T13:42:53.500 に答える