Bonjour,
Ce que je cherche c'est une sorte de "Hello World" en manipulation de blob sous ADO/OLEDB avec Delphi 7.
Il semble qu'aucun article n'est encore disponible sur ça sur developpez.com !!
Merci d'avance
Bonjour,
Ce que je cherche c'est une sorte de "Hello World" en manipulation de blob sous ADO/OLEDB avec Delphi 7.
Il semble qu'aucun article n'est encore disponible sur ça sur developpez.com !!
Merci d'avance
Déjà tu peux regarder cette QR de la
Merci pour ce lien, je vais l'essayer avec Oracle
Sauf si vous avez une remarque sur l'utilisation de Oracle blob avec Delphi car on peut s'attendre à tout avec ce sgbd !!
Ça ne marche pas, j'ai l'erreur suivant : Ce type de données n'est pas prise en charge
Voici ma chaine de connexion : Provider=MSDAORA.1;Password=;User ID=sys;Data Source=base2;Persist Security Info=True
J'arrive à me connecter avec et même à afficher la table dans un DBGrid mais lorsque je tente qlq chose sur un blob, paf !!!
La réponse est un peu introduite dans mon autre fil : http://www.developpez.net/forums/sho...d.php?t=528625 qui prétend que le provider fourni par Ms ne supporte pas le type BLOB (http://support.microsoft.com/kb/244661/fr)!!
Mais je me demande jusqu'à quelle version ? Est-ce que c'est résolu maintenant ?
Ben j'avais fait le teste avec Oracle 10g et le dernier MDAC de microsoft qui gère SQL 2005.Mais je me demande jusqu'à quelle version ? Est-ce que c'est résolu maintenant ?
Donc pour moi ce sont les derniers.
Pour ce qui concerne la manipulation des LOB, si tes données ne sont pas trop volumineuses (tu peux te permettre de tout charger en mémoire directement), tu peux manipuler les LOB comme des champs ordinaires :
Tu peux les lire/ecrire avec Field.AsString ou simplement Field.Value, le composant TBlobField appellera CreateBlobStream automatiquement pour sa gestion interne.
C'est le SELECT même d'un champ de type BLOB qui ne marche pas : 'Ce type de données n'est pas prise en charge'
Peut-être que je ne comprends pas ton approche mais TADOTable n'est pas utilisable pour moi car il y a cette exception !!Envoyé par SORIANO
Si on prend l'exemple de la FAQ : http://delphi.developpez.com/faq/?pa...ichierdansblob
Que faire avec votre technique ?
Je croyais que tu avais résolu le problème en utilisant le provider d'Oracle et pas celui de Microsoft.Peut-être que je ne comprends pas ton approche mais TADOTable n'est pas utilisable pour moi car il y a cette exception !!
Avec celui de microsoft, comme tu l'as toi même trouvé dans le support microsoft, tu ne peux pas accéder à un champ LOB. Quoi que tu fasses dans tes composants db.
Microsoft ne sait pas lire/ecrire des champs LOB (BLOB, CLOB...). Donc ADO ne pourra pas le faire tant que tu utiliseras le provider Microsoft.
Ma technique c'est pour manipuler directement le contenu du champ, surtout pour les champs CLOB.Si on prend l'exemple de la FAQ : http://delphi.developpez.com/faq/?pa...ichierdansblob
Que faire avec votre technique ?
Les exemples de la FAQ montrent comment charger un fichier dans le champ LOB.
Ce sont des besoins différents. Si tu as besoin de charger un fichier, il vaut mieux suivre l'exemple de la FAQ.
En effet, ça marche avec le provider d'Oracle mais ce dernier manque encore de fonctionnalités en certains points mais bon ...
si celui de Microsoft ne supporte pas les BLOB, il ne sert à rien !!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager