我有一个应用程序,它使用该datasource
函数在一个datagridview
dim query1 as string = "Select * from trades"
Source1.DataSource = GetData(query1)
With Me.DGVTrades
.DataSource = Source1
End With
当我针对MySQL
托管在windows 10
上面代码上的服务器运行应用程序时,我的datagridview
. 但是,它不适用于MySQL
托管在ubuntu 18.04
.
两个操作系统的数据库和 MySQL 服务器版本 (8.0.11) 相同,因为我使用相同的转储文件在任一服务器上导入数据。
问题:什么可能导致这个问题?
更新:还有另一个查询使用相同的连接字符串,使用上面提到的相同方法填充另一个 DGV,这个查询似乎正在工作。
在与 Terry 交谈后,我意识到问题出在查询中,当我在 MySQL 中使用工作台运行查询时,它在 windows 服务器上有效,但在 Ubuntu 服务器上无效
我发现的问题是在 MySQL 表名中,在 Ubuntu 服务器中有一些区分大小写的问题。我的代码中的很多查询都是在表名中用大写字母编写的,这就是它在 Ubuntu 上的 MySQL 上不起作用的原因。然而,Windows 上的 MySQL 似乎对此更宽容,并按原样接受表名。
“表和数据库名称如何存储在磁盘上以及如何在 MySQL 中使用受lower_case_table_names 系统变量的影响。lower_case_table_names 可以采用下表中显示的值。该变量不影响触发器标识符的大小写敏感度。在Unix 上,默认值lower_case_table_names 的值为 0。在 Windows 上,默认值为 1。在 macOS 上,默认值为 2。” <--Source --> https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitive.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句