Los inserts en SP ?

01/11/2004 - 14:22 por Berta Gomez | Informe spam
Hasta ahora he estado armando el insert o update en una cadena de texto
generada por una clase de la aplicacion basandome en los nombres de los
campos de la tabla (automaticamente). Luego envio (el insert o update) por
odbc al servidor directamente, obviamente no esta pre compilado. Como tengo
una clase automatizada no tengo que escribir manualmente los nombres de los
campos para cada tabla.

La inquietud es si el servidor pre-compila estas instrucciones que se envian
con frecuencia aunque una siempre las envíe como una cadena ? o hay algun
set que permita lograr esto ?


En caso de que el servidor no las pre-compile, como uno podria hacer lograr
esto para que sea mas rapido ? solo con un SP ?

En este ultimo caso (con un SP) tendria entonces que tener un sp para cada
tabla porque los campos son diferentes, lo cual no quisiera porque son
muchisimas tablas.

Otra cosa seria que yo genere automaticamente el SP desde la aplicacion. Si
esto ultimo es practico como lo podria hacer y que condiciones hay que
cumplir para seguridad y eso ?

Gracias
Berta Gomez

Preguntas similare

Leer las respuestas

#1 Maxi
01/11/2004 - 14:27 | Informe spam
Berta, si son insert no notaras mucha diferencia en hacerlo como lo estas
haciendo a como lo harian los SP.

Los sp son muy buenos pero la gran defirencia la notaras sobre todo en
SELECT.

Ahora bien, hay un pequeño problema a resolver:

Al enviar los datos asi deberias darle acceso directo a las tablas a los
usuarios de tu sistema (a menos que uses roles de aplicacion), con lo cual
es sumamente peligroso esto.

Imaginate que un usuario se conecte con un Excel y se puede traer toda la
data de clientes por ej!! es un gran problema de seguridad.

Ahora bie, a mi me gustan los SP por varias razones (seguridad -
Performance - Reutilizacion), pero se que hay algunos amigos de este foro
que por ej no usan SP para un simple insert (a menos que necesite algo de
logica)

Yo los SP los tengo por tabla y ahi estan las operaciones del CRUD (Create,
Read, Update, Delete)

Bye


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Berta Gomez" escribió en el mensaje
news:%

Hasta ahora he estado armando el insert o update en una cadena de texto
generada por una clase de la aplicacion basandome en los nombres de los
campos de la tabla (automaticamente). Luego envio (el insert o update)
por
odbc al servidor directamente, obviamente no esta pre compilado. Como
tengo
una clase automatizada no tengo que escribir manualmente los nombres de
los
campos para cada tabla.

La inquietud es si el servidor pre-compila estas instrucciones que se
envian
con frecuencia aunque una siempre las envíe como una cadena ? o hay algun
set que permita lograr esto ?


En caso de que el servidor no las pre-compile, como uno podria hacer
lograr
esto para que sea mas rapido ? solo con un SP ?

En este ultimo caso (con un SP) tendria entonces que tener un sp para cada
tabla porque los campos son diferentes, lo cual no quisiera porque son
muchisimas tablas.

Otra cosa seria que yo genere automaticamente el SP desde la aplicacion.
Si
esto ultimo es practico como lo podria hacer y que condiciones hay que
cumplir para seguridad y eso ?

Gracias
Berta Gomez










Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.781 / Virus Database: 527 - Release Date: 24/10/2004
Respuesta Responder a este mensaje
#2 Berta Gomez
01/11/2004 - 14:39 | Informe spam

Al enviar los datos asi deberias darle acceso directo a las tablas a los
usuarios de tu sistema (a menos que uses roles de aplicacion), con lo cual
es sumamente peligroso esto.

Imaginate que un usuario se conecte con un Excel y se puede traer toda la
data de clientes por ej!! es un gran problema de seguridad.




Aunque la cadena de conexión desde la aplicación tenga el usuario y el
password ?


Ahora bie, a mi me gustan los SP por varias razones (seguridad -
Performance - Reutilizacion), pero se que hay algunos amigos de este foro
que por ej no usan SP para un simple insert (a menos que necesite algo de
logica)

Yo los SP los tengo por tabla y ahi estan las operaciones del CRUD


(Create,
Read, Update, Delete)




De tu opinion deduzco que recomiendas hacer los CRUD por SP, no ?
Respuesta Responder a este mensaje
#3 Maxi
01/11/2004 - 14:51 | Informe spam
Berta, si le das acceso directo a los usuarios estos podran acceder via
cualquier cliente (como por ej Excel).

ahora quizas este utilizando un solo user para todo, si ese es el esquema de
seguridad de tu aplicacion la cosa cambia mucho. Por un lado no podras
acceder pero luego vas a tener miles de problemas por otro

Por ej:

1) No vas a saber quien esta ejecutando las cosas, con lo cual las
auditorias o controles se te pierden
2) Si usas un superusuario podes tener muchos problemas de injeccion de
codigo


Ahora bien, mi recomendacion es usar SP pero no todos lo hacen, hay muchos
que programan en la aplicacion para hacerlo portable ¿?, pero bue!!

Un abrazo



Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Berta Gomez" escribió en el mensaje
news:
>
Al enviar los datos asi deberias darle acceso directo a las tablas a los
usuarios de tu sistema (a menos que uses roles de aplicacion), con lo
cual
es sumamente peligroso esto.

Imaginate que un usuario se conecte con un Excel y se puede traer toda la
data de clientes por ej!! es un gran problema de seguridad.




Aunque la cadena de conexión desde la aplicación tenga el usuario y el
password ?


Ahora bie, a mi me gustan los SP por varias razones (seguridad -
Performance - Reutilizacion), pero se que hay algunos amigos de este foro
que por ej no usan SP para un simple insert (a menos que necesite algo de
logica)

Yo los SP los tengo por tabla y ahi estan las operaciones del CRUD


(Create,
Read, Update, Delete)




De tu opinion deduzco que recomiendas hacer los CRUD por SP, no ?







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.781 / Virus Database: 527 - Release Date: 24/10/2004
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida