MariaDB - Procedimiento Almacenado

 
Vista:
sin imagen de perfil
Val: 26
Ha mantenido su posición en MariaDB (en relación al último mes)
Gráfica de MariaDB

Procedimiento Almacenado

Publicado por Miguel (13 intervenciones) el 14/06/2018 19:55:50
Tengo este Procedimiento almacenado que he hecho en las consultas dentro de procedimientos

1
2
3
4
5
6
7
DROP PROCEDURE IF EXISTS VerDatos;
DELIMITER $$
CREATE PROCEDURE VerDatos(INOUT @Provincia)
BEGIN
SELECT * FROM @Provincia;
END;
DELIMITER $$

Al guardarlo me pide elegir una ubicación el caso que después el programa de visual a pesar de tener indicado el path donde está el procedimiento siempre dice que no lo encuentra.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub CargaDatos()
    Dim sql = "C:\fincas\consultas\fincas.sp_VerDatos"
    Open()
    Using cmd = New MySqlCommand(sql, cn)
        cmd.Parameters.AddWithValue("@Provincia", "Calles")
        Try
            cmd.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, ToString)
        Finally
            cn.Close()
            cn.Dispose()
        End Try
    End Using
End Sub

Me puede alguien aclarar donde estoy fallando.

Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 24
Ha mantenido su posición en MariaDB (en relación al último mes)
Gráfica de MariaDB

Procedimiento Almacenado

Publicado por Cesar (8 intervenciones) el 14/06/2018 20:09:15
Hola.

Lo que esta guardando, es el script de creacion del stored procedure (por eso le pide una ubicacion).

Para guardar el SP internamente en la base de datos (y que VB lo encuentre), simplemente hay que ejecutar el script.

Despues de ejecutar el script, en su codigo VB, tiene que colocar el nombre que puso despues de Create Procedure (en este caso, "VerDatos").

De igual forma, le falta indicar que lo que va a ejecutar, es un Stored Procedure.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub CargaDatos()
   Open()
   Using cmd = New MySqlCommand("VerDatos", cn)
      cmd.CommandType=CommandType.StoredProcedure
      cmd.Parameters.AddWithValue("@Provincia", "Calles")
      Try
         cmd.ExecuteNonQuery()
      Catch ex As Exception
         MsgBox(ex.Message, MsgBoxStyle.Information, ToString)
      Finally
         cn.Close()
         cn.Dispose()
      End Try
   End Using
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 26
Ha mantenido su posición en MariaDB (en relación al último mes)
Gráfica de MariaDB

Procedimiento Almacenado

Publicado por Miguel (13 intervenciones) el 14/06/2018 20:40:01
Hola Cesar

Pensé que estarías ocupado todavía, así que he acudido al foro.

Lo que tengo es esto, el nombre de antes no me dado cuenta de corregir el texto que he enviado pero en el programa si lo tenía bien.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub CargaDatos()
    Dim sql = "VerDatos"
    Open()
    Using cmd = New MySqlCommand(sql, cn)
        cmd.Parameters.AddWithValue("@Provincia", "Calles")
        Try
            cmd.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, ToString)
        Finally
            cn.Close()
            cn.Dispose()
        End Try
    End Using
End Sub


1
2
3
4
5
6
7
DROP PROCEDURE IF EXISTS VerDatos;
DELIMITER $$
create procedure VerDatos(INOUT @Provincia)
BEGIN
SELECT * FROM @Provincia;
END;
DELIMITER $$

Ahora bien el nombre que le doy al procedimiento lo he cambiado cuatro veces (VerDados, sp_VerDatos, fincas.sp_VerDatos y fincas.VerDatos) pues bien las cuatro veces me da el mensaje "PROCEDURE: fincas.VerDatos no existe" ó fincas.sp_VerDatos las cuatro formas diferente de nombres que he dado. Tambien he probado a llamarle dentro "c:\fincas\consulta\VerDatos.sql" y tambien dice que no lo encuentra.

El procedimiento lo he guardado en una carpeta dentro de C:\fincas\consultas\"

Gracias y un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha mantenido su posición en MariaDB (en relación al último mes)
Gráfica de MariaDB

Procedimiento Almacenado

Publicado por Cesar (8 intervenciones) el 14/06/2018 22:56:19
Hola.

Me suena a que no esta creando el stored en la base de datos.

Le envie un correo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar