各位科技業的大神前輩好
最近本人在學習如何用 ASP.NET Core (MVC) C# 來開發網頁系統
但是在連線至公司端的Oracle 資料庫時,一直看到ORA-28040 The database does not accept your client's authentication protocol; login denied
這樣的一段錯誤
因此,我有嘗試裝不同的
Oracle.ManagedDataAccess 和 Oracle.ManagedDataAccess.Core 版本,並且在Program.cs 中也有對應的程式碼等等
感覺上沒有太大的問題,畢竟有顯示The database does not accept your client's authentication protocol; login denied
後來爬文有看到要在Oracle底下的某一個文件加入這兩段
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
再來也有至Oracle 官方網站看到這一類的解答,提到的解法好像也是差不多這樣
但目前還是沒有辦法連線... 在 appsettings.json 文件連線的Url 應該也沒有太大的問題?
"ConnectionStrings": {
"OracleDbConnection": "User Id=myUsername;Password=myPassword;Data Source=myDataSource"
}
我是按照這樣的格式來寫
oracle 資料庫的版本是 11g
不知是否有大神知道如何解決這個連線的問題?
目前該試的真的都嘗試了......
PS:先前用Eclipse開發完全沒這個問題啊,才剛學習完用Java開發網頁系統的我是不是不該直接踏入 C# 的世界...?
到Oracle這一頁下載11版專用的ODAC試看看,32和64位元要選對。
如果電腦已裝了其它版本的ODAC建議全部移除減少問題。