Problema conexion MariaDB VPS con Visual Studio 2019

  • Autor Autor giulichajari
  • Fecha de inicio Fecha de inicio
giulichajari

giulichajari

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Tengo una aplicacion de escritorio y un VPS con MariaDB:

C#:
  public DataTable Login_us(string cLogin, string cPassword)
        {
            MySqlDataReader Resultado;
            DataTable Tabla = new DataTable();
            MySqlConnection SQLCon = new MySqlConnection();

            try
            {
                SQLCon = Conexion.getInstancia().CrearConexion();
                MySqlCommand Comando = new MySqlCommand("USP_Login_us", SQLCon);
                Comando.CommandType = CommandType.StoredProcedure;
                Comando.Parameters.Add("cLogin_us", MySqlDbType.VarChar).Value = cLogin;
                Comando.Parameters.Add("cPassword_us", MySqlDbType.VarChar).Value = cPassword;
              
                SQLCon.Open();
                Resultado = Comando.ExecuteReader();
                Tabla.Load(Resultado);
                return Tabla;
            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                if (SQLCon.State == ConnectionState.Open) SQLCon.Close();
            }
        }

el codigo anterior retorna error en SQLCon.Open();

Captura de pantalla (64).webp
 
Tengo una aplicacion de escritorio y un VPS con MariaDB:

C#:
  public DataTable Login_us(string cLogin, string cPassword)
        {
            MySqlDataReader Resultado;
            DataTable Tabla = new DataTable();
            MySqlConnection SQLCon = new MySqlConnection();

            try
            {
                SQLCon = Conexion.getInstancia().CrearConexion();
                MySqlCommand Comando = new MySqlCommand("USP_Login_us", SQLCon);
                Comando.CommandType = CommandType.StoredProcedure;
                Comando.Parameters.Add("cLogin_us", MySqlDbType.VarChar).Value = cLogin;
                Comando.Parameters.Add("cPassword_us", MySqlDbType.VarChar).Value = cPassword;
             
                SQLCon.Open();
                Resultado = Comando.ExecuteReader();
                Tabla.Load(Resultado);
                return Tabla;
            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                if (SQLCon.State == ConnectionState.Open) SQLCon.Close();
            }
        }

el codigo anterior retorna error en SQLCon.Open();

Ver el archivo adjunto 1074126

Hola le pregunte a la AI, su respuesta fue.

  1. Primero, asegúrate de que la cadena de conexión en el método Conexion.getInstancia().CrearConexion() es correcta y apunta a la base de datos correcta.
  2. 2. Verifica que tienes los permisos adecuados para acceder a la base de datos. A veces, los problemas de conexión pueden ocurrir debido a permisos insuficientes.
  3. 3. Comprueba que el nombre del procedimiento almacenado "USP_Login_us" es correcto y existe en la base de datos. Si el procedimiento almacenado no existe, esto podría resultar en un error de conexión.
  4. 4. Asegúrate de que los nombres y los tipos de parámetros en el procedimiento almacenado coincidan con los que estás agregando en el comando Comando.Parameters.Add(). Si los tipos no coinciden, es posible que la ejecución del comando falle.
  5. 5. Si estás utilizando un archivo de configuración para la cadena de conexión, verifica que el archivo esté presente y que la información de la conexión sea correcta.

Asegúrate de reemplazar <direccion_servidor>, <nombre_base_datos>, <usuario> y <contraseña> con los valores correctos para tu servidor de MariaDB. Esto establecerá la cadena de conexión adecuada.

Si aún tienes problemas con la conexión, te sugiero revisar el mensaje de error específico que obtienes para obtener más información sobre la causa del problema. Esto podría ayudarte a identificar mejor la solución.
 
Abriste el puerto 3306? del VPS para poder conectarte de forma remota. Tambien el usuario de base de datos con el que te conectas deberia tener permiso para conectarse de cualquier IP.
 
Atrás
Arriba