Query работает против MySQL в Windows, но не в Mysql в Ubuntu - PullRequest
0 голосов
/ 12 июня 2018

У меня есть приложение, которое использует функцию 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, используя тот же метод, упомянутый выше, и этот, кажется, работает.

После разговора с Терри я понял, что проблема в запросе, когда я запускаю запрос с использованием рабочей среды вMySQL, работает на сервере Windows, но не на сервере Ubuntu

1 Ответ

0 голосов
/ 13 июня 2018

Проблема, которую я обнаружил, заключается в именах таблиц MySQL, на сервере Ubuntu есть некоторая чувствительность к регистру.Большая часть запроса в моем коде написана заглавными буквами в имени таблицы, поэтому он не работает на MySQL в Ubuntu.Однако MySQL в Windows, кажется, более прощающий и принимает имена таблиц как есть.

"Как имена таблиц и баз данных хранятся на диске и используются в MySQL, зависит от системной переменной lower_case_table_names.значения приведены в следующей таблице. Эта переменная не влияет на чувствительность к регистру идентификаторов триггеров. В Unix значение по умолчанию lower_case_table_names равно 0. В Windows значение по умолчанию равно 1. В macOS значение по умолчанию равно 2. "<- Источник -> https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html

...