当前位置: 首页 > 知识库问答 >
问题:

OracleException:ORA-01918:用户“dbo”不存在

尉迟宣
2023-03-14

我试图用EntityFramework 6连接到远程oracle db时出错。我见过类似的问题,甲骨文。ManagedDataAccess。EntityFramework-ORA-01918:用户“dbo”不存在,但我的架构名称实际上是小写的(connection==schema,right?)-我与Oracle SQL developer进行了检查。我的连接字符串

DATA SOURCE=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=srvhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=cmmd)); PERSIST SECURITY INFO=True; USER ID=usr; PASSWORD=pwd;最大池大小=40; Incr池大小=1; Decr池大小=1;

所以这个代码没有帮助

builder.HasDefaultSchema("ORACLE"); // error ORA-01918: user 'ORACLE' does not exist

builder.HasDefaultSchema("oracle"); // error ORA-01918: user 'oracle' does not exist

public class OracleDbContext : DbContext
{
    public OracleDbContext() : base(new OracleConnection(Tools.GetConnectionString()), true)
    {

    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        MapMonitoringObject(modelBuilder);
    }

    public DbSet<MonitoringObject> MonitoringObjects { get; set; }

    private void MapMonitoringObject (DbModelBuilder builder)
    {
        //builder.HasDefaultSchema("");
    }

}

共有1个答案

魏朗
2023-03-14

事实证明,“模式”意味着用户,因为存储在dba_users中。所以我查询了它,选择了一个,添加到HasDefaultSchema中,错误消失了(但现在返回了null)。我真的试图找到Oracle术语中“模式”的含义,但它很容易与“数据库”概念混淆。

 类似资料:
  • 这是Wildfly10.0中Hibernate版本不匹配的后续问题。 [org.jboss.as.server.deployment](MSC服务线程1-8)WFLYSRV0027:开始部署“webapi.war”(运行时名称:“webapi.war”) [org.jboss.as.jpa](MSC服务线程1-1)WFlyJPA0002:为应用程序读取persistence.xml [org.jb

  • 产生以下错误: 这些尝试是以普通用户的身份进行的。将它们作为root用户进行尝试会得到完全相同的结果。我已经在OS X上通过自制安装了postgres,并且我已经阅读了多次说明。

  • 问题内容: 我想执行一条语句,但是仅当用户不存在时才执行。 最好的方法是什么? 问题答案: 如果要创建用户,则还需要创建一个授权。如果授权不存在,则该授权会隐式创建一个用户(这就是为什么鼓励您在创建授权时包括密码,以防万一它们不存在的原因)。参见http://dev.mysql.com/doc/refman/5.1/en/grant.html 因此,一种选择是仅创建授予(使用密码),然后隐式创建用

  • 在我的应用程序中,我试图执行一个简单的登录/注册操作。 我有一个,如果没有用户,它返回一个登录屏幕,如果有用户登录,它返回一个主屏幕: 代码工作得很好,如下所示: 我怎样才能解决这个问题?

  • 问题内容: 作为tut的一部分,我试图连接到postgres服务器,其结构如屏幕截图所示。我添加了一个db“烧瓶”,您可以看到。 基于该tut,我的主文件(’routes.py’)中包含以下代码: models.py: 运行时,调试器给出: 我究竟做错了什么? 问题答案: 从本质上讲,您将需要将其拆分为几个文件,以防止导入问题并使事情更加整洁。我已经完成了以下工作。注意,我已经使用了SQLite,

  • 我有一个通过电子邮件验证设置的密码重置用户流。当我验证我们的广告群中不存在的电子邮件帐户时,出现了一个错误 出现错误“找不到此用户ID的帐户”。点击“Continue”(继续)会显示“Please wait while we process your information”(请稍候,我们正在处理您的信息)消息。 再次点击continue几次似乎会将我带到一个错误url,如:B2C\u 1\u R