mysql - 用户 '' 访问被拒绝(使用密码 : NO) but it does have password

标签 mysql vb.net visual-studio mariadb

我在通过 visual studio 访问 mariadb 时遇到问题 vb.net 我有一个用于 mysqlconnectionstring 的工作脚本,我在之前的项目中使用过它,但它仍然运行良好。顺便说一句,我到目前为止使用的 connectionString 与此类似 -> Mysql connectionString

但是,当我出于某种未知原因对我的文档跟踪系统使用相同的连接字符串时,它确实会抛出一个弹出错误,提示 enter image description here

令我惊讶的是,我更改了用户,并特别在该用户上添加了密码!根据上一个问题的建议Using 127.0.0.1 fails when connecting to MySQL while using IP succeeds using VB.net

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

我可以向您保证问题不在插入语句上,因为就像我所说的那样,当我尝试连接到数据库服务器时,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.dll 以及 System.data.dll 包含到添加引用中code> 并正确安装了所有连接器阅读器以及所有必要的先决条件(以防您询问)。

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

更新

我对授予所有刷新权限以及更改IP地址以及监听的更改进行了常见故障排除80Listen 192.168.0.X:80 等等...等等...但错误仍然相同。

我以前的项目即使在加载 DocumentTrackingSystem 表单的同一个 解决方案资源管理器 上加载时也能正常工作。但它没有得到同样的错误。我也尝试在另一台计算机上测试,但问题仍然存在。

就好像只要我通过此项目连接就无法连接到 mariadb

新照片:

Figure2

Figure3

Figure4

Figure5

Last

Call Stack

DotNet Version

Maria DB Version

最新!

我不知道为什么它无法检测到我的connectionString,无论我如何尝试修复它,错误仍然是相同的。我决定将其合并到以前的工作项目中,即图书馆管理系统。

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

Formnew.vb设计中查看 Spook1

运行程序后立即查看 Spook2

这只是一个普通的标签,但为什么它没有按照预期的方式显示?它没有隐藏,我还没有包含任何代码。它只是一个简单的标签

最佳答案

你的代码

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

试试这个,它与连接字符串网站上提供的格式匹配:

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

关于mysql - 用户 '' 访问被拒绝(使用密码 : NO) but it does have password,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55508312/

相关文章:

MYSQL InnoDB Cluster 连接字符串参数

asp.net - 请修复此 vb.net 字符串

visual-studio - 微软的 Surface 2 可以运行 Visual Studio 吗?

php - 具有登录 session 的多个用户

mysql - 在 Yii 中设置时区

php - 如何强制 Laravel Eloquent 很好地处理不返回任何结果的查询?

mysql - 获取前 5 行的内容并回显它们

javascript - 'innerHTML' : object is null or undefined

python - OpenCV中的img.copy(),img.shape()

c# - 无法将值添加到列表(计数始终为 1)-C#