iT邦幫忙

0

ASP.NET Core (MVC) C# Oracle 連線問題

  • 分享至 

  • xImage

各位科技業的大神前輩好
最近本人在學習如何用 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# 的世界...?

kawa0710 iT邦新手 1 級 ‧ 2024-08-07 08:59:34 檢舉
2010年前後的經驗供參考...

1. Oracle.ManagedDataAccess或Core裝錯版了, 不是11g可以用的...
11g是很舊的版本, 官網直接下載的可能不支援...

2. Oracle.ManagedDataAccess有分x32和x64版本, 如果裝錯有可能.net執行時會挑錯

3. 檢查環境變數是不是有少什麼...用以前可以用的電腦和現在用的電腦比對
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
kawa0710
iT邦新手 1 級 ‧ 2024-08-07 09:04:18

Oracle這一頁下載11版專用的ODAC試看看,32和64位元要選對。

如果電腦已裝了其它版本的ODAC建議全部移除減少問題。

0
jack8900
iT邦新手 2 級 ‧ 2024-08-07 11:25:21

Oracle.ManagedDataAccess.Core 3.21.150

NET Core改裝這個版本,要找3.多版本,不要裝23版本之後的

下面的連結是相關的災情
Oracle論壇
Github

我要發表回答

立即登入回答