【问题标题】:ORA-01918 error when working with Identity Membership and MVC 5使用 Identity Membership 和 MVC 5 时出现 ORA-01918 错误
【发布时间】:2017-04-29 22:49:04
【问题描述】:

我正在尝试将 MVC(版本 5)身份成员资格提供程序与 Oracle 数据库 (11 g) 一起使用。我已经创建了一个数据库并安装了所有必要的表(ORA_ASPNET_APPLICATIONS、ORA_ASPNET_USERS 等)。我还下载了 Oracle Developer Tools for Visual Studio,并安装并引用了 Oracle.ManagedDataAccessOracle.ManagedDataAccess.EntityFramework 程序集。当我尝试添加新用户时,应用程序在这一行中断:

var result = await UserManager.CreateAsync(user, model.Password);

我收到以下错误:

ORA-01918: 用户 'dbo' 不存在

我查看了堆栈跟踪 - 根据内容 - 应用程序似乎正在尝试创建一个新数据库(见下文):

System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext 上下文)

不过,我不确定为什么,因为数据库已经存在。我的 web.config 中只有一个连接字符串,它指向我创建的 Oracle 数据库。

是否有人能够让 MVC 成员资格提供程序与 Oracle 合作?如果是这样,任何人都可以为我提供任何帮助吗?我已经查看了这个链接——Oracle.ManagedDataAccess.EntityFramework - ORA-01918: user 'dbo' does not exist——但我没有使用代码优先,所以我认为任何建议都不适用于我的情况。

我的连接字符串如下:

 <add name="OracleDbContext" providerName="Oracle.ManagedDataAccess.Client" connectionString="User Id=MyOracleAccountUserName;Password=MyOracleAccountPassword;Data Source=MyOracleDataSource" />

不过,我不认为这是连接字符串。我还尝试按如下方式覆盖 OnModelCreating 方法:

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.HasDefaultSchema("MySchemaName");


        modelBuilder.Entity<ApplicationUser>().ToTable("ORA_ASPNET_USERS");
        modelBuilder.Entity<IdentityRole>().ToTable("ORA_ASPNET_ROLES");
        modelBuilder.Entity<IdentityUserRole>().ToTable("ORA_ASPNET_USERSINROLES");


    }

但是,当我这样做时,我得到一个不同的错误:ORA-00904: "Extent1"."UserName": invalid identifier.

【问题讨论】:

  • 您的连接字符串错误?在 web.config 中向我们展示您的连接字符串
  • 我添加了连接字符串
  • 我想通了。我数据库中的表是基于 ASP.Net Membership 模型,而不是 Identity 模型。我使用了 Oracle 提供的数据库表脚本。所以,我不得不废弃这些并使用迁移创建新的。一旦我这样做了,我就可以创建新用户了。
  • 你应该发布你的答案......其他人可能会觉得它有益。

标签: asp.net-mvc oracle11g odp.net membership-provider


【解决方案1】:

modelBuilder.HasDefaultSchema("MSN");

您的架构名称应为大写

【讨论】:

    猜你喜欢
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    相关资源
    最近更新 更多