Primeras preguntas sobre paso a SQL Server

11/09/2004 - 13:23 por El principiante | Informe spam
Hola, estoy aprendiendo como hacer una aplicacion para sql server con foxpro
8. Sin vistas. Pienso hacerlo todo con sql pass trough y preparando un
framework que me traiga la data a cursores en una clase de manejo de datos.

Mis primeras preguntas son:

1) Es conveniente abrir la conexion a la base de datos desde el principio y
cerrarla al final de la aplicacion ? o estarla abriendo en cada formulario ?

2) Como se pueden abrir mas de una base de datos de sql server residiendo en
el mismo servidor ?

3) Sobre el mismo 2, es conveniente tener todas las tablas en una sola base
de datos o es preferible dividirlas por ej. en una base de datos para cada
modulo del sistema ?




Andres Ledesma

Preguntas similare

Leer las respuestas

#6 Alex Feldstein
12/09/2004 - 18:27 | Informe spam
On Sun, 12 Sep 2004 09:47:02 -0400, "El principiante"
wrote:

Suponiendo que la empresa ha comprado todas las licencias requeridas, ya de
cara a la aplicacion que es mas prudente: abrir la conexion desde la
aplicacion al inicio de ésta una sola vez ? o abrirla y cerrarla para cada



Lento? Si.


Cuantas conexiones abiertas puede soportar una aplicacion para sql server
simultaneamente ? hay alguna limitante ? (repito, suponiendo que se han
adquirido todas las licencias requeridas)



Todas las que tengas compradas, suponiendo que tengas equipo necesario
( o sea una maquina adecuada para esta función).


Me es mas sencillo saber: como lo estan utilizando ustedes en sus
aplicaciones de sql server con visual foxpro 8 ?



Como dijo Esparta en este hilo. Depende. Cada caso es diferente.
Si puedes tener todas abiertas en todo momento, el equipo y las
licencias lo aguantan, la red es adecuada, etc. tenerlas abiertas
durante el pograma es obviamente mas rápido.

Si el programa tiene funciones y/o usuarios que no lo requieren,
entonces puedes abrir esas cuando sea necesario.


Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(Address scrambled with ROT-13)
Respuesta Responder a este mensaje
#7 Ricardo Passians
13/09/2004 - 01:49 | Informe spam

Claro pero mi inquietud viene en cuanto a limitante de rendimiento.

Suponiendo que la empresa ha comprado todas las licencias requeridas, ya


de
cara a la aplicacion que es mas prudente: abrir la conexion desde la
aplicacion al inicio de ésta una sola vez ? o abrirla y cerrarla para


cada
formulario ? no seria esto ultimo muy lento ?

Cuantas conexiones abiertas puede soportar una aplicacion para sql server
simultaneamente ? hay alguna limitante ? (repito, suponiendo que se han
adquirido todas las licencias requeridas)

Me es mas sencillo saber: como lo estan utilizando ustedes en sus
aplicaciones de sql server con visual foxpro 8 ?





Yo lo hago abriendo la conexion al inicio y cerrandola al final de la
aplicacion o en algun proceso especial que lo requiera. Si al tratar de
hacer algun query resulta que se ha desconectado (como puede ocurrir) pues
detecto el error y vuelvo a conectar informandolo al usuario.

Hay que aclarar que una conexión abierta no es que ocupa "tantos" recursos
del servidor. Debes preocuparte mejor por el volumen del tráfico desde y
hacia el servidor, es decir, los queries (selects, inserts, updates,
deletes).

Una buena norma es hacer residir en lo posible gran parte del trabajo en el
servidor, como, reglas de validación (restricciones) y procedimientos
almacenados. Los procedimientos almacenados son muy valiosos a la hora de
procurar mayor eficiencia. Otro punto que ayuda al rendimiento son los
indices. El criterio para definirlos en SQL Server normalmente es muy
similar a los que se definen para aprovechar Rushmore en las DBF's (algunos
dicen hasta que es lo mismo).

Hay otras tecnicas para mejorar el trafico como arreglos de parametros para
un mismo query repetitivo, lotes de queries, preparar (precompilar)
queries, etc.. En la ayuda de sql server (books on line) puedes encontrar
mucha informacion sobre estas cosas.

Pero lo mejor siempre sera hacer ensayos en situaciones reales y ver la
implicación que tiene una que otra técnica empleada.
Respuesta Responder a este mensaje
#8 Ricardo Passians
13/09/2004 - 01:53 | Informe spam
y tambien... tratar que las transacciones sean lo más cortas posibles para
reducir el tiempo de bloqueos.

En esencia, son criterios muy similares a una aplicación con DBC's
Respuesta Responder a este mensaje
#9 El principiante
13/09/2004 - 13:39 | Informe spam
Yo lo hago abriendo la conexion al inicio y cerrandola al final de la
aplicacion o en algun proceso especial que lo requiera. Si al tratar de
hacer algun query resulta que se ha desconectado (como puede ocurrir) pues
detecto el error y vuelvo a conectar informandolo al usuario.




Bueno ya eso es mas razonable que un generico "depende". Lo que pasa es que
como estoy aprendiendo no se en que
basarme para saber de que depende al asunto.


]Gracias
Respuesta Responder a este mensaje
#10 Esparta Palma
13/09/2004 - 20:32 | Informe spam
En el caso de SQLServer éste no tiene un límite de conexiones, pero en
cuestiones de licencias puede que si hay alguna revisión por parte de los
organismos que están en eso, pues salgas perjudicado al momento de que
chequen cuántas CALs has comprado y cuántas utilizas.


1) Eso, en todos los casos es... depende, el dejar abierta una conexión
consume recursos en el servidor, si tu server no está muy reducido podrías
dejarlas abiertas, en cambio, el abrir constantemente sesiones, también
tiene sus consecuencias, deberás analizar cual es tu caso. Otra cosa, es
la cuestión de licencias, ya que cada conexión consumira una de ellas.




Muchas gracias por la respuesta. Aunque esta parte no la entendi bien.
SQL server tiene un limite de conexiones ?? (asumiendo que no hay problemas
de licencias). Como sueles usarla tu ?

Se trata de sistemas de gestion donde estaran abriendo y cerrando forms
continuamente aunque no necesariamente utilizando las mismas tablas, salvo
cuando registren documentos que deban afectar la contabilidad. Son aprox.
unas 50 computadoras y un solo servidor.






ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox.com
email:mexicoSINSPAM[Arroba]portalfox.com

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida