2016-07-15 3 views
0

Предисловие: Я уже и могу подключаться к соответствующим базам данных в Amazon RDS из MySQL Workbench, отсюда выводя мое имя пользователя, адрес экземпляра, номер порта, а также пароль, который будет правильным.Подключить ASP.NET к Amazon RDS MariaDB

Я создаю онлайн-приложение для ASP.NET и вам нужно подключиться к Amazon RDS s MariaDB вместо этого. Я пытался сделать это с помощью кода web.config или C#, но оба они не работают. Необходимы консультации.

Метод 1

Web.config:

<add name="rdbs" connectionString="Server=xxxxxx.xxxxxx.ap-southeast-1.rds.amazonaws.com:3306; Database=xxx; Uid=xxxx; Pwd=xxxx;" providerName="MySql.Data.MySqlClient"/> 

Для моей C# стороне код:

string connStr = ConfigurationManager.ConnectionStrings["rdbs"].ConnectionString; 
     using (SqlConnection sqlConnection = new SqlConnection(connStr)) 

Метод 2

System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(); 
    builder["Initial Catalog"] = "xxxx"; 
    builder["Data Source"] = "xxxxx.xxxx.ap-southeast-1.rds.amazonaws.com"; 
    builder["integrated Security"] = true; 
    builder["Uid"] = "xxxx"; 
    builder["Pwd"] = "xxxx"; 

    string connexionString = builder.ConnectionString; 
    SqlConnection connexion = new SqlConnection(connexionString); 
    try { connexion.Open(); return true; } 
    catch { return false; } 

Это форма ошибок я столкнулся:

сообщение «Произошла ошибка сети связанных или экземпляра конкретных при установлении соединения с SQL Server. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (Поставщик: SQL Network Interfaces, ошибка: 25 - Строка соединения не действует)»

Благодаря

+0

это работает ли в вашей локальной сети? i.e подключен к локальному экземпляру mariadb? – Hackerman

ответ

0

Это на самом деле решил ее

  1. Grab MySql.Data.Entity из NuGet

    !.
  2. Имейте это в web.config

    <add name="connRDB" connectionString="Data Source=xxxxx.xxxx.ap-southeast-1.rds.amazonaws.com;port=3306;Initial Catalog=xxxxx;User Id=xxxxx;password=xxxx" providerName="MySql.Data.MySqlClient" /> 
    
  3. На стороне кода

    string constr = ConfigurationManager.ConnectionStrings["connRDB"].ConnectionString; 
    using (MySqlConnection conn = new MySqlConnection(constr)) 
         { 
          using (MySqlCommand cmd = new MySqlCommand("Select * FROM orders")) 
          { 
           using (MySqlDataAdapter sda = new MySqlDataAdapter()) 
           { 
            cmd.Connection = conn; 
            sda.SelectCommand = cmd; 
            using (DataTable dt = new DataTable()) 
            { 
             sda.Fill(dt); 
             GridView1.DataSource = dt; 
             GridView1.DataBind(); 
            } 
           } 
          } 
         }