【发布时间】:2020-11-02 05:49:50
【问题描述】:
想知道是否有人使用 Oracle 云的自治数据库产品(不是本地 Oracle 数据库)成功地为 EF Core 搭建了数据库脚手架。棘手的部分似乎是连接字符串。 ADB 现在需要使用钱包下载,我不知道如何处理。
Oracle 的ODP.Net example 显示了一些特殊的配置命令来配置数据提供者。但是,这些命令在使用 Scaffold-DbContext 时似乎不可用。将所需文件放置在与数据连接库相同的位置的想法听起来很棒,除了 NuGet 库似乎没有被持久化并且仅作为构建过程的一部分进行部署。他们在连接 ADB 时的blog post 建议重写连接字符串以使用似乎不受支持的 Easy Connect 格式。
他们在connecting SSRS to ADB 上有一个不相关的帖子,其中有一些我尚未尝试过的数据提供者的命令行配置,因为我不确定它是否会起作用,但似乎它可能在至少要找出某种解决方案。
.NET Core/EF Core 版本为 3.1.9。
我尝试了一些变体...({} 表示已编辑信息的占位符)
dotnet ef dbcontext scaffold "User Id={uname};Password={pwd};
Data Source={(description...) from tnsnames.ora}" Oracle.EntityFrameworkCore
结果:请求超时
dotnet ef dbcontext scaffold "User Id={uname};Password={pwd};
Data Source={tcps://... from blog}" Oracle.EntityFrameworkCore
结果:无效的连接字符串
dotnet ef dbcontext scaffold "User Id={uname};Password={pwd};
Data Source={host}:{port}/{service_name}" Oracle.EntityFrameworkCore
结果:连接服务器失败
如果有人对此有任何智慧可以分享,我将不胜感激。
【问题讨论】:
-
你能从 Visual Studio 连接吗?
-
我是 -- 我现在正在使用 Rider,但它能够连接到适当的 JDBC 驱动程序。
-
那应该可以复用连接字符串了吧?
-
很遗憾,因为 .NET Core 驱动程序不支持与 JDBC 瘦驱动程序相同的语法,但我终于弄明白了
标签: c# oracle entity-framework entity-framework-core