Подключение к wampserver MySQL работает на PHP, но не на vb.NET

У меня есть локальный сервер Wampserver под управлением MySQL. Я успешно подключился к нему через PHP:

<?php
$servername = "localhost";
$username = "pyramid";
$password = "pyramid";

try {
$conn = new PDO("mysql:host=$servername;dbname=test", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>

Это работает отлично, и я получаю результат «Успешно подключен».

Однако, когда я пытаюсь сделать то же самое в vb.net с этим кодом:

Imports System.Data.SqlClient
Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs)     Handles MyBase.Load
Dim ConnectionString As String
Dim SQLCon As SqlConnection

ConnectionString =     "Server=localhost;Database=test;Uid=pyramid;Pwd=pyramid"SQLCon = New SqlConnection(ConnectionString)

Try
SQLCon.Open()
Catch ex As Exception
If ex.InnerException IsNot Nothing Then
MessageBox.Show(ex.InnerException.Message)
Else
MessageBox.Show(ex.Message)
End If
Finally
If SQLCon.State = ConnectionState.Open Then SQLCon.Close()
End Try
End Sub
End Class

После долгого ожидания от 5 до 10 секунд я получаю «Система не может найти указанный файл»

Оба имеют одно и то же имя пользователя, сервер паролей и имя базы данных, но vb.NET отказывается подключаться.

Я перепробовал почти все, что мог придумать, и исчерпал свои возможности. Можете ли вы пролить свет?

2

Решение

Вам необходимо скачать коннектор MySQL для .NET Framework (http://dev.mysql.com/downloads/connector/net/), затем обратитесь к .DLL в вашем проекте.

Imports MySqL.Data.MySqlClient
Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs)     Handles MyBase.Load
Dim ConnectionString As String
Dim SQLCon As MySqlConnection

ConnectionString =     "Server=localhost;Database=test;Uid=pyramid;Pwd=pyramid"SQLCon = New MySqlConnection(ConnectionString)

Try
SQLCon.Open()
Catch ex As Exception
If ex.InnerException IsNot Nothing Then
MessageBox.Show(ex.InnerException.Message)
Else
MessageBox.Show(ex.Message)
End If
Finally
If SQLCon.State = ConnectionState.Open Then SQLCon.Close()
End Try
End Sub
End Class
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]