0

このエラーが表示されます ログインによって要求されたデータベース「DataLayer.Context.MedicallexiconContext」を開けません。ログインに失敗しました。ユーザー「CL-xcsd-\medicallexicon_web」のログインに失敗しました。これが私の文脈です

public class MedicallexiconContext : MyDbContextBase, IUnitOfWork
    {
        public DbSet<Word> Word { get; set; }
        public DbSet<Category> Category { get; set; }
        public DbSet<Language> Language { get; set; }
        public DbSet<Picture> Picture { get; set; }
        public DbSet<RelationshipBetweenWords> RelationshipBetweenWords { get; set; }

        #region IUnitOfWork Members

        #region IUnitOfWork Members
        public new IDbSet<TEntity> Set<TEntity>() where TEntity : class
        {
            return base.Set<TEntity>();
        }

        #endregion

        #endregion

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new CategoryConfig());
            modelBuilder.Configurations.Add(new WordConfig());
            modelBuilder.Configurations.Add(new PictureConfig());
            modelBuilder.Configurations.Add(new LanguageConfig());
            modelBuilder.Configurations.Add(new RelationshipBetweenWordsConfig());
            base.OnModelCreating(modelBuilder);
            }
}

これが私の接続文字列です

  <add name="MedicallexiconContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-MedicallexiconProject-2012615153521;Integrated Security=True" providerName="System.Data.SqlClient"/>

これは私のデータベース名 DataLayer.Context.MedicallexiconContext です

4

1 に答える 1

0

ASP.Net アプリがこのコードを使用しているように見えますか?

アプリ プール ユーザーは のようですCL-xcsd-\medicallexicon_web。ユーザーがデータベースに対する適切な権限を持っていることを確認してください。

http://technet.microsoft.com/en-us/library/cc771170(WS.10).aspx

これを見つける可能性のある他の人のために... IIS 7 のデフォルトのアプリケーション プール ユーザーは NETWORK SERVICE です。既定のアプリ プール ユーザーを変更していない場合、これは SQL でのアクセス許可が必要なアカウントです。

ユーザーを SQL Server に追加する

  1. SQL Server Management Studio を開く
  2. データベースを見つける
  3. データベースの下の Security フォルダを開きます
  4. Users フォルダ (Security フォルダ内) を右クリックします。
  5. 新しいユーザーを選択...
  6. [ログイン名] の横にある (...) ボタンをクリックします。
  7. [参照] ボタンをクリックします。
  8. ユーザーを選択して [OK] を押します
  9. [ログインの選択] ダイアログでもう一度 [OK] を押します。
  10. ユーザーにユーザー名を付けます (例、medicallexicon_web)
  11. 適用されるデータベース ロール メンバーシップのチェックボックスをオンにします (おそらく db_datareader と db_datawriter)
  12. [OK] をクリックします。
于 2012-06-27T20:02:13.960 に答える