iT邦幫忙

0

ASP.NET Core [Microsoft entityframeworkcore database connection 20004]錯誤[已解決]

  • 分享至 

  • xImage

目前資料庫採用postgresql,網站有在IIS上運行過,都可以正常運作,但最近想試試看跨平台效果,將程式打包發布Linux debian 上,網站最終是可以在localhost上顯示了,但遇到了一個怪問題,疑似和資料庫連接沒成功,去查詢報錯代碼,發現上面提到要處理的我都處理過了,為何還會報錯呢。

我目前整體思路是,我覺得並不是代碼出錯,比較有可能的原因,應該是在Linux和資料庫連接這塊有問題。

想請教看看各位大大有沒有經驗,可以分享。

這是國外網友提供的解決方法,但這些我都有設定過了QQ

以下代碼,並非本人實際代碼,單純用來補充別人設定的細項,我都有更改成符合自身狀況的代碼。

You can try this way

Install package Pomelo.EntityFrameworkCore.MySQL(這個我是下載我資料庫版本的套件)

Add services at Startup.cs

services.AddCors(); services.AddDbContext(options => options.UseMySql(Configuration.GetConnectionString("DatabaseConnectionString")));

change connection string at appsettings.json

"ConnectionStrings": { "DatabaseConnectionString": "server=localhost;port=3306;database=MyAppDB;user=root;password=" }

*change the port number according to your MySQL server

4.Run these commads at Package Manager Console for data migration Add-Migration InitialCreate

Update-Database

看更多先前的討論...收起先前的討論...
Homura iT邦高手 1 級 ‧ 2021-11-08 15:36:18 檢舉
覺得很奇怪的地方是你用postgresql
卻用mysql套件
這樣在windows會成功?
andow1198 iT邦新手 4 級 ‧ 2021-11-08 15:55:40 檢舉
H大大您好,我後面有括號補充,我有下載postgresql專屬套件,那個代碼只是和大家說明,我有去弄套件。
andow1198 iT邦新手 4 級 ‧ 2021-11-08 15:57:31 檢舉
從You can try this way 開始,就只是單純表達,這些事項我都有注意到並且設定好,造成誤會抱歉。
Kuma君 iT邦新手 5 級 ‧ 2021-11-08 16:09:37 檢舉
我覺得幾個事情確認一下
若是postgresql 的話,元件應該使用錯誤,可以確認一下
還有就是不論任何系統的連接(Db也好,Redis也好)
你都需要知道端點的位址與連接埠
當然除此之外可能還有防火牆等設定
在Linux中,除了防火牆外,可能還有設定SELinux
所以連接不上的原因(錯誤訊息)
好像也沒有看到
因此可能需要你提供一下錯誤代碼等
(我的ASP.NET Core也是在Linux搭配Nginx+MariaDB運行的好好的,真的與系統無關,外面一堆大型商用系統都使用Linux去運行,不太可能是元件有問題)
andow1198 iT邦新手 4 級 ‧ 2021-11-08 16:23:43 檢舉
M大您好,謝謝您的回覆,我找出原因了,有點尷尬,我感到非常抱歉,原因是我的網段沒設定好......
問題已解決,感謝平台。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答