dba_open

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_open -- Abrir una base de datos

Descripción

resource dba_open ( string ruta, string modo [, string gestor [, mixed ...]] )

dba_open() establece una instancia de base de datos para el archivo en ruta con el modo dado usando gestor.

Lista de parámetros

ruta

Usualmente una ruta normal en su sistema de archivos.

modo

Es r para acceso de lectura, w para acceso de lectura/escritura a una base de datos existente, c para acceso de lectura/escritura y creación de base de datos si no existe actualmente, y n para crear, truncar y tener acceso de lectura/escritura.

Adicionalmente es posible definir el método de bloqueo de la base de datos con el siguiente caracter. Use l para bloquear la base de datos con un archivo .lck o d para bloquear el archivo de base de datos mismo. Es importante que todas sus aplicaciones hagan esto de forma consistente.

Si desea probar el acceso y no desea esperar al bloqueo puede añadir t como el tercer caracter. Cuando esté absulatemente seguro de que no necesita bloquear la base de datos puede hacerlo usando - en lugar de l o d. Cuando ninguna de las opciones d, l o - es usada, dba bloqueará el archivo de base de datos como si usara d.

Nota: Solo puede haber un escritor para un archivo de base de datos. Cuando use dba en un servidor web y más de una petición requiera operaciones de escritura, ellas sólo pueden hacerse una después de la otra. Asimismo, no es posible tener acceso de lectura durante un proceso de escritura. La extensión dba usa bloqueos para prevenir estas situaciones. Vea la siguiente tabla:

Tabla 1. Bloqueo DBA

ya abiertomodo = "rl"modo = "rlt"modo = "wl"modo = "wlt"modo = "rd"modo = "rdt"modo = "wd"modo = "wdt"
no abiertookokokokokokokok
modo = "rl"okokesperafalsoinválidoinválidoinválidoinválido
modo = "wl"esperafalsoesperafalsoinválidoinválidoinválidoinválido
modo = "rd"inválidoinválidoinválidoinválidookokesperafalso
modo = "wd"inválidoinválidoinválidoinválidoesperafalsoesperafalso

ok: la segunda llamada será exitosa.
espera: la segunda llamada espera hasta que dba_close() sea llamado para el primero.
falso: la segunda llamada devuelve falso.
inválido: no debe mezclar los modificadores "l" y "d" para el parámetro modo.

gestor

El nombre del gestor que será usado para acceder a ruta. A él se le pasan todos los parámetros opcionales dados a dba_open() y puede actuar sobre ellos.

Valores retornados

Devuelve un gestor positivo en caso de éxito, o FALSE si ocurre un error.

Registro de cambios

VersiónDescripción
4.3.0 Es posible abrir archivos de base de datos sobre una conexión de red. Sin embargo en casos en los que se usa una conexión de socket (como http o ftp) la conexión será bloqueada en lugar del recurso mismo. Esto es importante ya que en tales casos el bloqueo es simplemente ignorado sobre el recurso y deben encontrarse otras soluciones.
4.3.0 El bloqueo y los modificadores de modo "l", "d", "-" y "t" fueron agregados. En versiones anteriores de PHP, es necesario usar semáforos para prevenir el acceso simultáneo a bases de datos para cualquier gestor de bases de datos con excepción de GDBM. Vea el soporte de semáforos tipo Sistema V.
antes de 4.3.5 El modo de apertura 'c' está dañado para varios gestores internos y trunca la base de datos en lugar de añadir los datos a una base de datos existente. Asimismo, dm y ndbm fallan en modo 'c' para configuraciones típicas (esto no puede arreglarse).

Ver también

dba_popen()
dba_close()

Hosting by: hurra.com
Generated: 2007-01-26 18:00:40