我一直在尝试连接到Visual Studio 2015中的本地MySQL数据库。这是我正在使用的代码。
Imports System.Data.Sql
导入System.Data.SqlClient
Public Class SQLControl
Public SQLCon As New SqlConnection With {.ConnectionString = "Server=localhost,3306;user=root;database=database;pwd=xxxx;"}
Public SQLCmd As SqlCommand
Public Function HasConnection() As Boolean
Try
SQLCon.Open()
SQLCon.Close()
Return True
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
SQLCon.Dispose()
End Try
End Function
我收到错误: "内部连接致命错误。错误状态:18"
或者我收到错误: "与服务器成功建立连接,但在登录前握手期间发生错误。 (提供程序:TCP提供程序,错误:0 - 已建立的连接已被主机中的软件中止。)
我收到的错误似乎是随机的。我已经更改了许多设置无济于事,包括服务器端口到1433,这给了我相同的错误。
我想知道是否有办法通过VS 2015或服务器设置本身来解决这个问题。
附注:我可以通过VS的服务器资源管理器和本机上的其他程序(Anypoint Studio)连接数据库,但这不符合项目的目的。
答案 0 :(得分:1)
导入MySQL.Data.MySQLClient类并使用MySQLConnection而不是SqlConnection解决了这个问题:
Imports MySql.Data.MySqlClient
Public Class MySQLControl
Public MySQLCon As New MySqlConnection With {.ConnectionString = "Server=localhost;user=root;database=database;pwd=xxxx;"}
Public MySQLCmd As MySqlCommand
Public Function HasConnection() As Boolean
Try
MySQLCon.Open()
MySQLCon.Close()
Return True
Catch ex As Exception
MsgBox(ex.Message)
Return False
MySQLCon.Close()
Finally
MySQLCon.Dispose()
End Try
End Function