Visual Studio 2015无法连接到MySQL数据库

时间:2016-10-14 14:43:15

标签: mysql vb.net visual-studio-2015

我一直在尝试连接到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)连接数据库,但这不符合项目的目的。

1 个答案:

答案 0 :(得分:1)

德鲁是对的。我使用的是SQL类而不是MySQL类。

导入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