Foros del Web » Programando para Internet » PHP »

problemas con odbc_connect

Estas en el tema de problemas con odbc_connect en el foro de PHP en Foros del Web. Hola a todos, Tengo el siguiente problema: Cuando un usaurio hace muchos "click en links" o "refreshs" de una página, a la vez por cada ...
  #1 (permalink)  
Antiguo 08/01/2003, 11:57
 
Fecha de Ingreso: noviembre-2001
Mensajes: 24
Antigüedad: 16 años, 1 mes
Puntos: 0
problemas con odbc_connect

Hola a todos,

Tengo el siguiente problema:

Cuando un usaurio hace muchos "click en links" o "refreshs" de una página, a la vez por cada click o refresh hace una conexión a la base de datos.

ocupo odbc_connect

gracias.
  #2 (permalink)  
Antiguo 08/01/2003, 12:15
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 15 años
Puntos: 0
podrias ser mas especifico hacerca de tu problema, pues eso no es nada extraño, es algo logico que si en una pagina tienes una conexion a una base de datos, al recargarla se ara nuevamente la conexion, debes recordar que de no ser una conexion persistente, esta se cierra automaticamente al finalizar el script.

Saludos
  #3 (permalink)  
Antiguo 08/01/2003, 12:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si lo que quieres es optimizar el uso de tu Base de datos .. deberas de implementar algun sistema de "caché" para los resultados de esas consultas ...

Uno de esos sistemas es bien básico:

Se trata de generar un archivo de texto plano o incluso un "HTML" con el formato que tengan esos resultados en la página que los usas (o generar un XML seria lo ideal).

Ese "archivo" (sea texto plano q luego le daras formato con PHP, HTML directo o incluso un XML q luego "parsearas" con PHP) lo debes de generar con cada cambio de algun registro que hagas en tu Base de datos (sea Updates/Insert's ..).

Donde tengas q leer esa consulta .. lees en este caso del archivo de texto plano/HTML/XML que ya has generado en algun momento. Esto evitará un buen porcentaje de accesos a la BD dependiendo del sistema que tengas.

Esto es útil por ejemplo para secciones de "noticias" en los que tienes un index o pagina muy visitada en la que muestras solo X noticias del total (X registros del total de la BD) .. Si el usuario ve una noticia (registro) fuera de ese rango (paginado, ver mas noticia, etc...) sigues con la programación tipica que tienes implementada. ..

Generar todo el contenido de la BD a un "archivo" tampoco seria la idea ..

----------------------

Se me olvidó que tambien puedes usar conexines persistentes a la base de datos:

odbc_pconnect()


Un saludo,

Última edición por Cluster; 08/01/2003 a las 12:40
  #4 (permalink)  
Antiguo 08/01/2003, 13:37
 
Fecha de Ingreso: noviembre-2001
Mensajes: 24
Antigüedad: 16 años, 1 mes
Puntos: 0
El problema que toma todos los recursos de la base de datos.

Ahora lo que me gustaria hacer es que por cada usuario quiero asignar una conexión a la base de datos.

¿Como lo hago ...?
  #5 (permalink)  
Antiguo 08/01/2003, 14:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. El problema que se te "coma" los recursos del servidor puede ser por varios factores y son los que deberias ver:

1) via ODBC a que BD estas accediendo?
2) con cuantos usuarios concurrentes te pasa que se queda sin recursos?

A todo esto .. cualquier motor de base de datos (por lo menos Mysql, SQL server .. etc) disponen en su configuración de parametros para permitir X conexiones concurrentes a la vez .. Eso deberias mirarlo tambien.

Luego está el punto no menos importante de tu propio código .. Liberar memoria es recomendable en cuanto se pueda .. al igual que conexiones a la BD y no esperar a que PHP lo haga de forma automática .. Las consultas SQL q usas igual no son lo mas optimas posíbles .. etc etc etc ...

Asiganar una conexion a una BD (un link unico) a cierto Usuario y bia ODBC? .. por mi parte no se si es posible (via PHP o via comando SQL .. ?).

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:27.