PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Binary Large Objects : bytea ou oid ???

Technique - odbc | Binary Large Objects : bytea ou oid ???

Par darems le 21/09/2006 - 18:50

Bonjour,

J'essaie dĂ©sespĂ©rĂ©ment d'Ă©crire une requĂȘte sql qui permet d'insĂ©rer le contenu d'un fichier dans une table postgres.
Le fichier est situĂ© sur le poste client et la requĂȘte est exĂ©cutĂ©e depuis le poste client elle aussi.

J'ai donc créé un champ de type oid et ma commande est la suivante:
INSERT INTO ma_table (champ_oid)
VALUES (lo_import('D:\fichier.jpg'));

Le message d'erreur que j'obtiens est le suivant:
ERROR: could not open server file "D:\fichier.jpg": Invalid argument

Il semble que postgres essaie d'ouvrir le fichier cÎté serveur. Or, je souhaite insérer dans ma table un fichier depuis le poste client. j'ai lu toutes sortes de choses sur ce problÚme mais sans trouver mon bonheur.
Comment-dois je procéder pour faire cela en sql?
Dois-je forcément passer par un champ de type oid ou dois-je utiliser un champ de type bytea?

Merci de votre aide, mes maigres connaissances en PostGres me bloquent ....

RĂ©mi

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramÚtres" pour activer vos changements.

Je confirme le problĂšme de "

Daniel/ = 22 Septembre, 2006 - 18:48

Je confirme le problĂšme de "darems".
Sur une config Postgresql Windows v8.1.3 si on fait la requĂȘte sur le poste oĂč il y a le serveur c'est OK.

Parcontre si on fait la requĂȘte sur un autre poste que le serveur la requĂȘte ne passe pas.

J'ai testé en faisant un
create table prodimages (id serial, proid int4, image OID)

insert into prodimages((proid,image) values ('12',lo_import(c:/test.jpg'))

Daniel


Ce n'est pas spécifique à O

Daniel/ = 22 Septembre, 2006 - 18:49

Ce n'est pas spécifique à ODBC cela le fait avec PGadmin


L'utilisation des fonctions S

Daniel/ = 23 Septembre, 2006 - 16:46

L'utilisation des fonctions SQL lo_import et lo_export fonctionnent uniquement sur le serveur.
Il faut par conséquent que le fichier soit sur le serveur dans un répertoire accessible par Postgresql


© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.