填坑 | .NET core項目遠程部署後連接資料庫 mysql表大小寫敏感問題
- 2020 年 9 月 4 日
- 筆記
- 網路 / Web開發
欣喜成功部署了項目之後又遭遇重創hhh,swagger調試資料庫,報錯
MySql.Data.MySqlClient.MySqlException(0x80004005)
我猜是大小寫的問題,一查果然是。
mysql大小寫敏感問題
在MySQL中,資料庫對應數據目錄中的目錄。資料庫中的每個表至少對應資料庫目錄中的一個文件(也可能是多個,取決於存儲引擎)。因此,所使用作業系統的大小寫敏感性決定了資料庫名和表名的大小寫敏感性。這說明在大多數Unix中資料庫名和表名對大小寫敏感,而在Windows中對大小寫不敏感。 一個顯著的例外情況是Mac OS X,它基於Unix但使用默認文件系統類型(HFS+),對大小寫不敏感。
在windows下表名不區分大小寫,所以在導入數據後,有可能所有表名均為小寫,而再從win導入linux後,在調用時就容易出現大小寫的問題。例如:
第一點:程式調用表名為:codetc_Web;
第二點:導入win後變為codetc_web;
第三點:再導入linux後也是codetc_web,此時linux會區分表名的大小寫,則導致該表無法讀取。
很多部落客的博文給出了修改mysql配置的方法,但….其實不太實用,因為這個資料庫還有別的表,改完了之後別的表也會有問題。所以索性——手動修改表名!哈哈哈(因為對於表中的欄位名不存在大小寫敏感的問題)
成功!!