Stored Procedures y transacciones.

16/01/2006 - 13:58 por aydai | Informe spam
Hola a todos!!! Estoy adentrandome en el mundo de los stored procedures y me
gustaria saber si es posible utilizar transacciones con estos desde visual
basic .net 2005

Un Saludo y gracias.

Preguntas similare

Leer las respuestas

#1 Jesús López
17/01/2006 - 10:55 | Informe spam
Pues sí. De la misma manera que lo harías con comandos SQL:

Dim cmdMiProc As New SqlCommand()
cmdMiProc.Connection = cn
cmdMiProc.CommandType = StoredProcedure
cmdMiProc.CommandText = "MiProc"
cmdMiProc.Parammeters.Add(...)

Dim tan As SqlTransaction = cn.BeginTransaction()
cmdMiProc.Transaction = tran
cmdMiProc.ExecuteNonQuery
tran.Commit

Saludos:

Jesús López
MVP

"" escribió en el mensaje
news:
Hola a todos!!! Estoy adentrandome en el mundo de los stored procedures y
me gustaria saber si es posible utilizar transacciones con estos desde
visual basic .net 2005

Un Saludo y gracias.

Respuesta Responder a este mensaje
#2 aydai
17/01/2006 - 17:44 | Informe spam
Muchas gracias Jesus.
Otra dudilla que tengo es que se gana usando stored procedures.

Gracias por todo.
"Jesús López" escribió en el mensaje
news:
Pues sí. De la misma manera que lo harías con comandos SQL:

Dim cmdMiProc As New SqlCommand()
cmdMiProc.Connection = cn
cmdMiProc.CommandType = StoredProcedure
cmdMiProc.CommandText = "MiProc"
cmdMiProc.Parammeters.Add(...)

Dim tan As SqlTransaction = cn.BeginTransaction()
cmdMiProc.Transaction = tran
cmdMiProc.ExecuteNonQuery
tran.Commit

Saludos:

Jesús López
MVP

"" escribió en el mensaje
news:
Hola a todos!!! Estoy adentrandome en el mundo de los stored procedures y
me gustaria saber si es posible utilizar transacciones con estos desde
visual basic .net 2005

Un Saludo y gracias.





Respuesta Responder a este mensaje
#3 Jesús López
19/01/2006 - 23:56 | Informe spam
Los principales beneficios de usar procedimientos almacenados son:

(1) Encapsulación. La lógica de manejo de datos está encapsulada por medio
de procedimientos almacenados. Sirven como interfaz entre la aplicación
cliente y la base de datos abstrayendo de los detalles de implementación de
la base de datos. Por ejemplo podría decidirse cambiar la estructura de las
tablas por razones de rendimiento, pero los procedimientos almacenados
seguirían apareciendo iguales desde la aplicación aunque su código interno
cambiara. Es decir, podemos cambiar la estructura de la base de datos sin
cambiar las aplicaciones cliente ya que el interfaz no ha cambiado, los
procedimientos almacenados siguen teniendo el mismo nombre, los mismos
parámetros y devuelven los mismos resultados.

(2) Eficiencia. Los procedimientos almacenados son más eficientes porque
está garantizado la reutilización del plan de ejecución (versión compilada
del procedimiento almacenado). El tráfico de red se vé reducido. Además a la
hora de que un administrador de base de datos necesite optimizar el
rendimiento, lo puede hacer ya que puede cambiar el código de los
procedimientos almacenados para que su ejecución sea óptima sin necesidad de
contar con nadie más. Si no se utilizan procedimientos almacenados, el
administrador de base de datos no puede optimizar de la misma manera ya que
lo más probable es que no tenga posibilidad de cambiar las instrucciones SQL
que usan las aplicaciones cliente.

(3) Seguridad. Si todo el acceso a la base de datos se realiza por medio de
procedimientos almacenados, para que los usuarios puedan realizar su
trabajo, sólo es necesario conceder permisos de ejecución de los
procedimientos almacenados a aquellos usuarios que tengan la necesidad y el
derecho de ejecutarlos. Los usuarios no podrán acceder a la base de datos de
ninguna otra manera que por medio de los procedimientos almacenados que
están autorizados a ejecutar. No pueden acceder directamente a las tablas,
ni hacer ninguna otra operación que no esté prevista y codificada por medio
de los procedimientos almacenados, evitando así problemas potenciales.

Moraleja: usa procedimientos almacenados siempre que puedas.
Contra moraleja: en informática no hay leyes absolutas. Con esto quiero
decir que puede haber situaciones en las que usar procedimientos almacenados
no sea lo más adecuado.

Saludos:

Jesús López
MVP
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida