error: debe ser superusuario para utilizar lo import() en el extremo del servidor
Hola amigos estoy tratando de subir un archivo atravez de delphi2006 a una base de datos en postgre, la tabla se llama mis imagenes y tiene un campo llamado title(text) y otro picture(oid) se supone que en teoria pueden impotarse cualquier tipo de archivo pero me aparece el siguiente mensaje de error
El codigo que ocupo es este:
Alguna pista? |
hola thelibmx,
Bueno creo que el problema es donde se ejecuta la función lo_import. Creo que estas intentando cargar un archivo que tienes en un cliente Windows con una sentencia SQL que se ejecuta en el servidor... (generalmente el servidor es Linux)... Lo anterior quiere decir que debes mover primero el archivo a un directorio en el servidor para guardarlo.... :( Creo que podrías hacer una "triquiñuela", utilizando un componente de Delphi intermedio que cargue imágenes a una BD, algo así como un TDBImage (Invisible), que apunte hacia el campo que quieres dentro de tu BD. Yo una vez lo hice así para subir texto a un campo definido como oid. espero que te sirva... si no es muy tarde. |
gracias, creo que si fue un poco tarde pues ya cambiamos la manera en q subimos los datos, se cambio el esquema a subir los archivos directamente al servidor, sabes necesitaba subir toda clase de archivos :( pero como no encontraba manera pues se tubo que cambiar, aun asi, creo que a muchos les sirvira de pista tu sugerencia, yo espero en un futuro encontrar alguna forma de hacerlo, y claro la posteare aqui :) de igual manera te agradezco y agradezco a todos los que apoyaron en este hilo, y pues los que sigan apoyando tambien un saludo y gracias :D
|
mmmm creo que alguien borro la respuesta en chino que habian peusto... por lo que esta respuesta pierde validez....
|
Lo que yo te recomiendo en estos casos es que el campo en Postgre sea tipo 'BLOB' y que cargues tu archivo a un stream en tu aplicacion y lo pases de la siguiente manera:
Salu2 |
Cita:
esa es la solucion, solo cabe anotar que en postgres el campo Blob es conocido como BYTEA (bueno para los que están perdidos en el mundo Postgres como alguna vez lo estuve)
muchas gracias por el aporte cascarrabias |
La franja horaria es GMT +2. Ahora son las 15:31:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi