2013-07-22 4 views
0

Я пытаюсь подключиться к базе данных MySQL на сервере, который мой друг создал, но он все еще говорит, что он не может подключиться к серверу!подключиться к MySQL веб-серверу с C#

Вот мой код:

 String connectionString = "Persist Security Info=False;database=qwertyui;server=www.qwertyuiop.com;Uid=asdfghj;Pwd=qazwsxedc;Connect Timeout=30"; 
     using (SqlConnection connection = new SqlConnection(connectionString)) 
     { 
      SqlCommand cmd = new SqlCommand("INSERT INTO etc.... "); 
      cmd.CommandType = CommandType.Text; 
      cmd.Connection = connection; 
      cmd.Parameters.AddWithValue(etc....); 
      connection.Open(); 
      int r = cmd.ExecuteNonQuery(); 
     } 

Он failes на connection.Open() инструкции метания исключение -> не может подключиться к серверу.

Любые идеи, пожалуйста?

+0

'www.qwertyuiop.com' подключается к порту 80, который является государственным портом. Вам нужно выяснить, какой порт прослушивает экземпляр MySQL, и указать этот порт в строке подключения. – PoweredByOrange

ответ

1
  • Сначала загрузите MySQL Connector.

  • Убедитесь, что вы добавить reference в DLL (+ набор копию локальной для истинного!)

  • Добавить using MySql.Data.MySqlClient; на вершине своего класса.

  • Что касается Connection String, сделать не добавить http или www перед server. Поскольку он попытается подключиться к apache (порт 80) вместо MySQL. Порт по умолчанию: MySQL: 3306.

    string connectionString = "Persist Security Info=False;database=qwertyui;server=qwertyuiop.com;Uid=asdfghj;Pwd=qazwsxedc;port=3306"; 
    using (MySqlConnection connection = new MySqlConnection(connectionString)) 
    { 
        string query = "INSERT INTO table VALUES (@parameter)"; 
        connection.Open(); 
        using (MySqlCommand cmd = new MySqlCommand(query, connection)) 
        { 
         cmd.Parameters.AddWithValue("@parameter", parameter); 
         cmd.ExecuteNonQuery(); 
        } 
    } 
    

Если это не работает. Удостоверьтесь, что MySQLразрешает удаленный доступ, если это не так, вы можете продолжать ставить навсегда без каких-либо результатов.

+0

спасибо за четкие пошаговые инструкции! работает как шарм –

+0

Рад помочь :) – DeMama

2

SqlConnection является SQL Server клиент.

Вам необходимо загрузить клиент MySql от NuGet.

0

И если со всем выше не работает, попробуйте получить все привилегии (GRANT Syntax)!

В основном это будет идти что-то вроде:

GRANT ALL PRIVILEGES ON DBname.* to 'username'@'IPadress' IDENTIFIED BY 'password'; 
Смежные вопросы