none
Agregar Procedimiento Almacenado en una Base de Datos ya Establecido RRS feed

  • Pregunta

  • Como hago para agregar un procedimiento almacenado en una base de datos ya instalada?

    Hasta ahora lo que hice fue abrirla con el visual studio y agregarselos. Pero para eso tuve que pedirle al usuario que me envie la base y se la volvi a enviar. Como hago para pasarle actualizarle la base de datos mas facilmente? Puedo manderle un ejecutable que le agregue el procedimiento almacenado?


    Rodrigo Mocca

    Me falto ponerles que la Base de Datos es de SQL Server Express 2008 R2
    jueves, 10 de enero de 2013 20:13

Respuestas

  • Simplemente crea un script que se ejecute vía sqlcmd (no sé si esta opción existe para SQL Server Express), SQL Server Management Studio o bien mediante un ejecutable.

    El script es bien sencillo:

    Create Procedure dbo.spNombreProc
    --Opcionalmente agregar los parámetros
    As
    Begin
    
        Set NoCount On;
    
        ...
    
        return 0;
    End

    Luego ejecutar eso es bien simple:

    using (SqlConnection conn = new SqlConnection("<cadena de conexión aquí>"))
    {
        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.CommandText = "<Aquí va el script de SQL.  Puede leerse desde un archivo en disco.>";
            cmd.Connection = conn;
            cmd.CommandType = CommandType.Text; //Aunque esta es la opción por defecto de un SqlCommand nuevo.
            try
            {
                cmd.ExecuteNonQuery();
            }
            catch
            {
                //Informar al usuario de cualquier error.
                ...
            }
        }
    }


    Jose R. MCP
    Code Samples

    • Marcado como respuesta Rodrigo Mocca sábado, 12 de enero de 2013 20:40
    sábado, 12 de enero de 2013 16:44

Todas las respuestas

  • Simplemente crea un script que se ejecute vía sqlcmd (no sé si esta opción existe para SQL Server Express), SQL Server Management Studio o bien mediante un ejecutable.

    El script es bien sencillo:

    Create Procedure dbo.spNombreProc
    --Opcionalmente agregar los parámetros
    As
    Begin
    
        Set NoCount On;
    
        ...
    
        return 0;
    End

    Luego ejecutar eso es bien simple:

    using (SqlConnection conn = new SqlConnection("<cadena de conexión aquí>"))
    {
        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.CommandText = "<Aquí va el script de SQL.  Puede leerse desde un archivo en disco.>";
            cmd.Connection = conn;
            cmd.CommandType = CommandType.Text; //Aunque esta es la opción por defecto de un SqlCommand nuevo.
            try
            {
                cmd.ExecuteNonQuery();
            }
            catch
            {
                //Informar al usuario de cualquier error.
                ...
            }
        }
    }


    Jose R. MCP
    Code Samples

    • Marcado como respuesta Rodrigo Mocca sábado, 12 de enero de 2013 20:40
    sábado, 12 de enero de 2013 16:44
  • Una vez ejecutado el codigo que me planteas, en la base de datos ya se incorporo el procedimiento almacenado? o debo ejecutar esto cada vez que necesite usar el procedimiento almacenado?

    Rodrigo Mocca

    Ya lo probe, anduvo a la perfección. Muchas gracias.
    sábado, 12 de enero de 2013 19:37