Foros del Web » Programando para Internet » PHP »

Error al insertar BLOB en ORACLE

Estas en el tema de Error al insertar BLOB en ORACLE en el foro de PHP en Foros del Web. Me encargaron hacer esto hace dias, y aun me estoy dando vueltas y ya este error no se como sacarlo, llevo solo cerca de 2 ...
  #1 (permalink)  
Antiguo 01/06/2007, 09:39
 
Fecha de Ingreso: julio-2002
Ubicación: Valparaiso
Mensajes: 152
Antigüedad: 21 años, 9 meses
Puntos: 0
Error al insertar BLOB en ORACLE

Me encargaron hacer esto hace dias, y aun me estoy dando vueltas y ya este error no se como sacarlo, llevo solo cerca de 2 meses en esto de Php y ma cuesta un poco encontrar los errores, necesito agregar un .Pdf en una tabla, se que es mas simple guardar el nombre como texto y guardar el archivo mismo en una carpeta y asi solo llamarlo, pero aca no quieren eso y debo agregarlo a una tabla (trabajo en una institución pública y de hecho los cambios al php.ini los debo hacer en tiempo de ejecucion).

Me aparece este error:

[nativecode=ORA-01461: can bind a LONG value only for insert into a LONG column]

La estructura de la tabla es esta

BINARY_DATA

ID: number(4)
DESCRIPCION: VARCHAR2(100)
BINDATA: BLOB
FILENAME: VARCHAR2(50)
FILESIZE: VARCHAR2(50)
FILETYPE: VARCHAR2(100)

El codigo es este..

carga_archivo.htm
<form enctype="multipart/form-data" action="guardar_archivo.php" method="post">
Id <input name="id" type="text" size="6" maxlength="4">
<br>
Descripción <input type="text" name="titulo" size="30"><br>
Ubicación <input type="file" name="archivito"><br>
<input type="submit" value="Enviar archivo">
</form>

guarda_archivo.php

<?

// Cambio de configuracion del archivo PHP.ini
ini_set("upload_tmp_dir","../../upload");
ini_set("default_charset","ISO-8859-1");



$dbh = genera_dbh();

//require("dbconnect.inc.php");

$archivo = $_FILES["archivito"]["tmp_name"];
$tamanio = filesize($archivo);
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$titulo = $_POST["titulo"];
$id = $_POST["id"];

//echo $archivo;
//exit;

if ( $archivo != "none" )
{
$fp = fopen($archivo, "r");
$contenido = fread($fp, filesize($archivo));
//$contenido =

//$contenido = fread($gestor, filesize($nombre_archivo));
//$contenido = addslashes($contenido);

//echo $contenido;
//exit;

fclose($fp);

$query = $dbh->prepare("INSERT INTO binary_data VALUES
(?,?,?,?,?,?)");

$datos = array($id,$titulo,$contenido,$nombre,$tamanio,$tip o);

//print_r($datos);
//exit;

$rs = $dbh->Execute($query,$datos);

if (PEAR::isError($rs)){
echo $rs->getDebugInfo();
exit;
}
}

A ver si me pueden ayudar..
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 23:22.