1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-25 16:02:13 +01:00
Files
archived-doc-es/reference/pdo_pgsql/PDO/pgsqlLOBCreate.xml
Pedro Antonio Gil Rodríguez 0b091b2fad Actualizacion a la ultima version
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@330787 c90b9560-bf6c-de11-be94-00142212c4b1
2013-07-07 18:10:26 +00:00

122 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 656d1610af1a960d87c8b7056e54d0d4c75fb123 Maintainer: seros Status: ready -->
<!-- Reviewed: no -->
<!-- Generated by xml_proto.php v2.3. Found in /scripts directory of phpdoc. -->
<refentry xml:id="pdo.pgsqllobcreate" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>PDO::pgsqlLOBCreate</refname>
<refpurpose>Crea un nuevo objeto grande</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>string</type><methodname>PDO::pgsqlLOBCreate</methodname>
<void/>
</methodsynopsis>
<para>
<function>PDO::pgsqlLOBCreate</function> crea un objeto grande y
devuelve el OID del mismo. Se podría entonces abrir un flujo sobre el objeto
usando <function>PDO::pgsqlLOBOpen</function> para leer o escribir datos en
él. El OID se puede almacenar en columnas de tipo OID y se puede usar para hacer referencia
al objeto grande, sin causar que la fila se vuelva arbitrariamente grande.
El objeto grande continuará estando en la base de datos hasta que sea
eliminado mediante una llamada a <function>PDO::pgsqlLOBUnlink</function>.
</para>
<para>
Los objetos grandes pueden tener un tamaño de hasta 2GB, pero son incómodos de usar; es necesario
asegurarse de que se invoca a <function>PDO::pgsqlLOBUnlink</function> antes de
borrar la última fila que hacía referencia a su OID desde la base de datos.
Además, los objetos grandes no tienen controles de acceso. Como alternativa,
inténtelo con el tipo de columna BYTEA; las versiones recientes de PostgreSQL permiten un
tamaño para las columnas BYTEA de hasta 1GB y administran de forma transparente el almacenamiento
para un tamaño de fila óptimo.
</para>
<note>
<simpara>
Esta función debe ser llamada dentro de una transacción.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<function>PDO::pgsqlLOBCreate</function> no tiene parámetros.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el OID del objeto grande recién creado en caso de éxito, o &false;
en caso de error.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un ejemplo de <function>PDO::pgsqlLOBCreate</function></title>
<para>
Este ejemplo crea un nuevo objeto grande y copia el contenido
de un fichero en él. El OID es entonces almacenado en una tabla.
</para>
<programlisting role="php">
<![CDATA[
<?php
$bd = new PDO('pgsql:dbname=test host=localhost', $usuario, $contraseña);
$bd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bd->beginTransaction();
$oid = $bd->pgsqlLOBCreate();
$flujo = $bd->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $flujo);
$local = null;
$flujo = null;
$sentencia = $bd->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$sentencia->execute(array($algún_id, $oid));
$bd->commit();
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>PDO::pgsqlLOBOpen</function></member>
<member><function>PDO::pgsqlLOBUnlink</function></member>
<member><function>pg_lo_create</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
-->