首页 > 解决方案 > 由于使用 .NET MySQL 连接器的 MySQL 查询区分大小写,未找到表

问题描述

我正在使用我使用带有 XSD(表适配器)的 .NET 4.0 创建的旧网站。我已将我的数据库从 MySQL 5.4 迁移到 AWS RDS 上的 MySQL 5.7。

我遇到的问题是,当我运行网站时,它找不到表,因为在某些查询中它会搜索开头带有大写字母的表。如果我将表名更改为大写字母,它会找到它。这是一个旧项目,我不想乱用旧代码。

我使用 .NET MySQL 连接器。

show variables where Variable_name='lower_case_table_names'

以上返回“0”,表示“在 CREATE TABLE 或 CREATE DATABASE 语句中指定的字母大小写”。名称比较区分大小写。

有没有办法更新 web.config 或在 MySQL 数据库中做一些事情以使其工作,以便查询将被视为不区分大小写?

标签: mysqlasp.net.netmysql-connectormysql-5.7

解决方案


RDS 上的 MySQL 5.7 在 RDS 配置面板的 GROUP PARAMETERS 中没有 lower_case_table_names 的值。一旦我将它设置为 1 并重新启动服务器,我的旧 .NET 网站就可以正常工作。


推荐阅读