1
0
mirror of https://github.com/php/doc-es.git synced 2026-04-25 08:08:27 +02:00
Files
archived-doc-es/reference/dba/functions/dba-open.xml
T
Pedro Antonio Gil Rodríguez bbfe94ff0f Actualización a la última versión
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@334618 c90b9560-bf6c-de11-be94-00142212c4b1
2014-08-27 09:24:50 +00:00

232 lines
8.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8b5940cadeb4f1c8492f4a7f70743a2be807cf39 Maintainer: seros Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.dba-open" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>dba_open</refname>
<refpurpose>Abrir una base de datos</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>dba_open</methodname>
<methodparam><type>string</type><parameter>path</parameter></methodparam>
<methodparam><type>string</type><parameter>mode</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>handler</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
<function>dba_open</function> establece una instancia de una base de datos para
<parameter>path</parameter> con <parameter>mode</parameter> usando
<parameter>handler</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>path</parameter></term>
<listitem>
<para>
Comúnmente una ruta normal de su sistema de ficheros.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
Es <literal>r</literal> para acceso de lectura, <literal>w</literal> para
acceso de lectura/escritura de una base de datos existente, <literal>c</literal>
para acceso de lectura/escritura y creación de una base de datos si no existe actualmente,
y <literal>n</literal> para crear, truncar y acceso de lectura/escritura.
La base de datos se crea en el modo BTree, los demás modos (como Hash o Queue)
no están soportados.
</para>
<para>
Además se puede establecer el método de bloqueo de la base de datos con el siguiente carácter.
Use <literal>l</literal> para bloquear la base de datos con un fichero <filename>.lck</filename>
o <literal>d</literal> para bloquear el fichero de la base de datos mismo. Es
importante que todas sus aplicaciones hagan esto de manera consistente.
</para>
<para>
Si quiere probar el acceso y no quiere esperar para el bloqueo
puede añadir <literal>t</literal> como tercer carácter. Cuando está absolutamente
seguro de que no se requiere el bloqueo de la base de datos, puede usar
<literal>-</literal> en lugar de <literal>l</literal> o
<literal>d</literal>. Cuando no se usar <literal>d</literal>,
<literal>l</literal> o <literal>-</literal>, dba bloqueará
el archivo de la base de datos como si lo estuviera con <literal>d</literal>.
</para>
<note>
<para>
Sólo puede haber un escritor para el archivo de la base de datos. Cuando se usa dba
en un servidor web y más de una solicitud requiere operaciones de escritura, sólo pueden
hacerlo una tras otra. Tampoco está permitido la lectura durante la escritura.
La extensión dba usa bloqueos para impedirlo. Véase la siguiente tabla:
<table>
<title>Bloqueo de DBA</title>
<tgroup cols="9">
<thead>
<row>
<entry>ya abierta</entry>
<entry><parameter>mode</parameter> = "rl"</entry>
<entry><parameter>mode</parameter> = "rlt"</entry>
<entry><parameter>mode</parameter> = "wl"</entry>
<entry><parameter>mode</parameter> = "wlt"</entry>
<entry><parameter>mode</parameter> = "rd"</entry>
<entry><parameter>mode</parameter> = "rdt"</entry>
<entry><parameter>mode</parameter> = "wd"</entry>
<entry><parameter>mode</parameter> = "wdt"</entry>
</row>
</thead>
<tbody>
<row>
<entry>sin abrir</entry>
<entry>ok</entry>
<entry>ok</entry>
<entry>ok</entry>
<entry>ok</entry>
<entry>ok</entry>
<entry>ok</entry>
<entry>ok</entry>
<entry>ok</entry>
</row>
<row>
<entry><parameter>mode</parameter> = "rl"</entry>
<entry>ok</entry>
<entry>ok</entry>
<entry>wait</entry>
<entry>false</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>illegal</entry>
</row>
<row>
<entry><parameter>mode</parameter> = "wl"</entry>
<entry>wait</entry>
<entry>false</entry>
<entry>wait</entry>
<entry>false</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>illegal</entry>
</row>
<row>
<entry><parameter>mode</parameter> = "rd"</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>ok</entry>
<entry>ok</entry>
<entry>wait</entry>
<entry>false</entry>
</row>
<row>
<entry><parameter>mode</parameter> = "wd"</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>illegal</entry>
<entry>wait</entry>
<entry>false</entry>
<entry>wait</entry>
<entry>false</entry>
</row>
</tbody>
</tgroup>
</table>
<simplelist>
<member>ok: la segunda llamada tendrá éxito.</member>
<member>wait: la sedunda llamada esperará hasta que se llame a <function>dba_close</function> la primera vez.</member>
<member>false: la segunda llamada devuelve false.</member>
<member>illegal: no se pueden mezclar los modificadores <literal>"l"</literal> y <literal>"d"</literal> con el parámetro <parameter>mode</parameter>.</member>
</simplelist>
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>handler</parameter></term>
<listitem>
<para>
El nombre del <link linkend="dba.requirements">gestor</link> que
será usado para acceder a <parameter>path</parameter>. Se le pasan
todos los parámetros opcionales dados a <function>dba_open</function> y
puede actuar en su nombre.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un gestor positivo en caso de éxito &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>4.3.0</entry>
<entry>
Es posible abrir ficheros de bases de datos sobre conexiones de red. Sin embargo,
en el caso en que se use una conexión de socket (como con http o ftp) la
conexión se bloqueará en lugar del recurso en sí. Esto es importante
para saber que en tales casos el bloqueo es ignorado simplemente en el recurso
y se tienen que encontrar otras soluciones.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>dba_popen</function></member>
<member><function>dba_close</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->