![](/img/trans.png)
[英]Scaffolding an Oracle database with EF Core failing with logon denied error
[英]EF Core Scaffolding with Oracle Autonomous Database
好奇是否有人使用 Oracle Cloud 的自治數據庫產品(不是本地 Oracle DB)成功地為 EF Core 完成了數據庫腳手架。 棘手的部分似乎是連接字符串。 亞行現在需要使用錢包下載,我不知道如何處理。
Oracle 的ODP.Net 示例顯示了一些用於配置數據提供者的特殊配置命令。 但是,這些命令在使用 Scaffold-DbContext 時似乎不可用。 將所需文件與數據連接庫放在同一位置的想法聽起來很棒,除了 NuGet 庫似乎沒有被持久化並且僅作為構建過程的一部分進行部署。 他們關於連接到 ADB 的博客文章建議重寫連接字符串以使用似乎不受支持的 Easy Connect 格式。
他們有一篇關於將 SSRS 連接到 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
結果:連接服務器失敗
如果有人對此有任何智慧可以分享,我將不勝感激。
弄清楚了。
dotnet ef dbcontext scaffold
的基本示例, dotnet ef dbcontext scaffold
為 TEST,用戶 ID 為 ADMIN,密碼為 PASSWORDdotnet ef dbcontext scaffold "Data Source=TEST_high;User Id=ADMIN;Password=PASSWORD" Oracle.EntityFrameworkCore
OnConfiguring
......當我進一步了解時會更新。有一個不使用錢包的替代方法。
在此鏈接中, oracle 自治數據庫沒有使用 TLS 的錢包,需要將自治數據庫更改為使用 TLS 而不是 mTLS 和錢包。
更改數據庫后,只需使用
dotnet ef dbcontext scaffold "Data Source=(description...);User Id=ADMIN;Password=PASSWORD" Oracle.EntityFrameworkCore
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.