Доступ запрещен для пользователя '' (используется пароль: НЕТ), но у него есть пароль - PullRequest
0 голосов
/ 04 апреля 2019

У меня проблемы с доступом к mariadb через visual studio vb.net У меня есть рабочий script для mysqlconnectionstring, который я использовал в своих предыдущих проектах, хотя он все еще работает отлично.Кстати, connectionString, который я использовал до сих пор, чем-то похож на это -> Mysql connectionString

Но когда я использую ту же строку подключения для моего document tracking system по неизвестной причинеон выдает всплывающую ошибку, в которой говорится: enter image description here

Что меня удивляет, так это то, что я изменил пользователей и специально включил в них пароль!В соответствии с рекомендациями этого предыдущего вопроса Использование 127.0.0.1 завершается неудачно при подключении к MySQL, в то время как при использовании IP успешно используется VB.net

Так что может быть причиной, по которой я не могу подключиться к этомуСервер MariaDB?

Я могу гарантировать, что проблема не в операторе вставки, потому что, как я уже сказал, messagebox показывает исключение ошибки, когда я пытаюсь подключиться к серверу db.

Но в случае, если вам это понадобится для справки, я разместлю код здесь:

Dim DatabaseName As String = "myDB"
Dim server As String = "127.0.0.1"
Dim userName As String = "myUsername"
Dim password As String = "myF*ckinPassword"
Dim port As Integer = "3306"
If Not conn Is Nothing Then conn.Close()
conn.ConnectionString = String.Format("server={0}; user id={1}; password={2}; database={3}; port={4}; pooling=false", server, userName, password, DatabaseName, port)
Try
    conn.Open()
    'MsgBox("Connected")
Catch ex As Exception
    MsgBox(ex.Message)
    conn.Close()
Finally
    conn.Dispose()
End Try

Любая помощь будет принята с благодарностью.

Стоит также упомянутьчто я включил Mysql.data.dll в add reference, а также System.data.dll и правильно установил все connector, reader и все необходимые предварительные условия на случай, если вы спросите.

Между тем, я уже пробовал много решений, которые я мог найти в IoT, таких как добавление новых пользователей и переустановка пакетов, чтобы назвать несколько.

ОБНОВЛЕНИЕ

Я сделал общую диагностику дляGrant all и flush privileges, а также change ip address, а также изменение Listen 80 на Listen 192.168.0.X:80 и т. Д. И т. Д., Но ошибка остается той же.

У меня есть предыдущие проектыкоторый отлично работает, даже когда я загружаю его на тот же solution explorer, где я загружаю DocumentTrackingSystem форму.Все же это не получает ту же самую ошибку.Я также пытался протестировать его на другом компьютере, но проблема осталась прежней.

Это как если бы я не мог подключиться к mariadb, пока я подключаюсь через этот проект.

Новый Mugshot:

Figure2

Figure3

Figure4

Figure5

Last

Call Stack

DotNet Version

Maria DB Version

ПОСЛЕДНИЕ !

Понятия не имеюпочему он не может обнаружить мой connectionString, независимо от того, как я пытаюсь это исправить, ошибка остается той же.Я решил несколько объединить его с предыдущим рабочим проектом, который является Системой управления библиотекой.

Итак, в основном я создал другую форму и включил ее в список меню.Я только на этапе проектирования, хотя.Но когда я запускаю всю программу, она не появляется!

Просмотр в Formnew.vb Design Spook1

Просмотр, как только я запускаю программуSpook2

Это просто равнина label но почему она не показала, как это должно быть?Он не скрыт, и я еще не включил никаких кодов.Это просто label.

1 Ответ

0 голосов
/ 11 апреля 2019

Ваш код

String.Format("server={0}; user id={1}; password={2}; database={3}; port={4}; pooling=false", server, userName, password, DatabaseName, port)

создаст строку подключения, которая недопустима в соответствии с отправленной вами ссылкой connectionstrings.com .

Вывод

server=127.0.0.1; user id=myUsername; password=myF*ckinPassword; database=myDB; port=3306; pooling=false

Имена полей (в частности, идентификатор пользователя и пароль) неверны.Посмотрите эту демонстрацию: https://dotnetfiddle.net/2QDJNY

Попробуйте вместо этого, что соответствует формату, предоставленному на сайте строки подключения:

String.Format("Server={0};Port={4};Database={3};Uid={1};Pwd={2};Pooling=False;", server, userName, password, DatabaseName, port)

Будет выведено:

Server=127.0.0.1;Port=3306;Database=myDB;Uid=myUsername;Pwd=myF*ckinPassword;Pooling=False;

Демо: https://dotnetfiddle.net/hlAVYf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...