【问题标题】:Hosting my MVC 5 entity framework code first project ! MULTIPLE ERRORS托管我的 MVC 5 实体框架代码第一个项目!多个错误
【发布时间】:2014-12-27 18:47:53
【问题描述】:

我正在尝试在 go daddy 上托管我的 ASP.NET MVC 5 实体框架代码第一个项目(该项目在我的机器上运行得非常好,带有本地数据库连接字符串)。我遇到了一些错误,直到现在我都能纠正它们。

现在我收到此错误:

数据库“master”中的 CREATE DATABASE 权限被拒绝。

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:数据库“master”中的 CREATE DATABASE 权限被拒绝。

我删除了 web.config 文件中的信任级别选项,因为它在 Godaddy 的 asp.net 网络参数中造成了 CAS 信任级别问题。我对 go daddy 的 CAS 信任级别设置为满。

我的连接字符串:

<add name="DefaultConnection" 
     connectionString="Data Source=ipadress;AttachDbFilename=|DataDirectory|\aspnet-aspProjetFinal-20141211061340.mdf;Initial Catalog=aspnet-aspProjetFinal-20141211061340;Integrated Security=false;User Id=myuser; Password=mypassword;" 
     providerName="System.Data.SqlClient" />
<add name="monModel" 
     connectionString="data source=ipadress;initial catalog=GestionClientsContext;Trusted_Connection=True;Integrated Security=false;MultipleActiveResultSets=True;App=EntityFramework;User Id=myuser; Password=mypassword;" 
     providerName="System.Data.SqlClient" />    

我已经尝试了一些东西,例如,这个:

http://forums.asp.net/t/1742970.aspx?CREATE+DATABASE+permission+denied+in+database+master+

但我不确定在代码顶部添加所述行后是否需要删除某些行。

我的global.asax.cs 文件:

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        Database.SetInitializer<GestionClientsContext>(null);
        Database.SetInitializer(new InitialisationGestionClients());
        GestionClientsContext testing = new GestionClientsContext();
        testing.Database.Initialize(true);
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        //throw new Exception(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
    }    

我显然需要一些指导,我已经花了很多时间试图让它上线!让我知道你的想法 !谢谢!

【问题讨论】:

  • 你能告诉我们InitialisationGestionClients()初始化器吗?您使用的是DropCreateDatabaseIfModelChanges 方案吗?如果是这样,那可能就是原因,因为 GoDaddy 不允许您从代码中删除或创建数据库,只有控制面板。
  • 您的数据库是否已经存在?,您是否在联系人中设置了连接字符串?或者在 SQL 中拥有对您的数据库的管理员用户访问权限?
  • 我的 2 个数据库已经存在,一个链接到上下文,一个用于登录和角色。我自己在服务器上创建了它们。

标签: asp.net asp.net-mvc entity-framework ef-code-first hosting


【解决方案1】:

你对丹的要求:

 public class InitialisationGestionClients : System.Data.Entity.CreateDatabaseIfNotExists<GestionClientsContext>
{
    protected override void Seed(GestionClientsContext context)
    {
        base.Seed(context);
        var lesClients = new List<Clients>
         {
             new Clients{nom="Finch", prenom="Paul",dateInscription=DateTime.Parse("2014-01-10"),adresse="911 De la Commune", email="test@hotmail.com", solde=0,commentaires="Juste un test"}
         };
        lesClients.ForEach(s => context.Clients.Add(s));
        context.SaveChanges();

        var lesFacures = new List<Factures>
        {
            new Factures{motif="Programmes janvier 2014", montant=25,dateFacturation=DateTime.Parse("2014-01-10"),statusPaid=false, ClientsId=1}
        };

        lesFacures.ForEach(s => context.Factures.Add(s));
        context.SaveChanges();

        var lesPaiements = new List<Paiements>
        {
            new Paiements{montant=25,datePaiements=DateTime.Parse("2014-02-10"), ClientsId=1}
        };
        lesPaiements.ForEach(s => context.Paiements.Add(s));
        context.SaveChanges();


    }

}

更新:如果我可以使用这个词,我已经让网站“运行”。我现在可以在线访问应用程序,但是当我尝试使用 MVC 登录功能登录或创建新用户时,我收到以下错误:

数据库“master”中的 CREATE DATABASE 权限被拒绝。

在尝试加载应用程序之前,我已经收到该错误,但我没有收到它,因为我将信任级别更改为 FULL。我不确定我是否在关注这个!我只是想登录为什么他要尝试创建任何东西!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 2012-05-23
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多