拒绝访问用户”(使用密码:否),但确实有密码

时间:2019-04-04 05:13:15

标签: mysql vb.net visual-studio mariadb

我无法通过mariadb visual studio访问vb.net 我有一个script的{​​{1}}可以正常工作,尽管我以前的项目中一直使用它。顺便说一句,到目前为止,我使用的mysqlconnectionstring与此类似-> Mysql connectionString

但是,当我出于某些未知原因为我的connectionString使用相同的连接字符串时,它的确弹出了一个错误,提示enter image description here

让我感到惊讶的是,我已经更改了用户,并特别在其中添加了密码!根据之前的问题Using 127.0.0.1 fails when connecting to MySQL while using IP succeeds using VB.net

的建议

那我为什么无法连接到此MariaDB服务器的原因可能是什么?

我可以保证您的问题不在插入语句上,因为就像我说过的document tracking system在我尝试连接到数据库服务器时显示了错误异常。

但是如果您需要它作为参考,那么我将代码放在这里:

messagebox

任何帮助将不胜感激。

还值得一提的是,我已经将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.dlladd reference中,并正确安装了所有System.data.dllconnector ,以及所有必要的先决条件,以备不时之需。

同时,我已经尝试了很多可以在reader中找到的解决方案,例如添加新用户并重新安装软件包等等。

更新

我对IoTGrant all以及flush privileges进行了常见的故障排除,也将change ip address更改为Listen 80等...等等。 ..但错误仍然相同。

我以前的项目即使在我加载Listen 192.168.0.X:80表单的同一solution explorer上加载也能正常工作。但是它没有得到相同的错误。我也尝试将其测试到另一台计算机,但是问题仍然相同。

就好像只要我通过这个项目进行连接一样,我就无法连接到DocumentTrackingSystem

新照片:

Figure2

Figure3

Figure4

Figure5

Last

Call Stack

DotNet Version

Maria DB Version

最新

我不知道为什么无论我如何尝试解决它,都无法检测到我的mariadb,错误仍然存​​在。我决定将其合并到以前的工作项目,即图书馆管理系统。

所以基本上,我所做的是,我创建了另一个表单并将其包含在菜单列表中。我只是在设计阶段。但是当我运行整个程序时,它没有显示出来!

connectionString中查看 Spook1

运行程序后立即查看 Spook2

这只是一个简单的Formnew.vb Design,但是为什么它没有显示出预期的样子?它没有被隐藏,我还没有包含任何代码。这只是一个简单的label

1 个答案:

答案 0 :(得分:0)

您的代码

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

字段名称(特别是用户ID和密码)错误。观看此演示:https://dotnetfiddle.net/2QDJNY

改为尝试此方法,它与connectionstrings网站上提供的格式匹配:

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