2010-04-23 4 views
4

J'ai une table Oracle dont la colonne est un type de données CLOB. Je veux lire le contenu de cette table sous forme de texte.convertir clob en varchar2

J'ai essayé select dbms_lob.substr(sqltext, 4000, 1) from test mais celui-ci ne sélectionne que les 4000 premiers octets. Comment lire tout le contenu? il y a plus de 4000 caractères dans la colonne sqltext. S'il vous plaît donnez votre avis.

+1

Quelle langue/cadre utilisez-vous pour accéder à Oracle? –

+0

J'utilise SQLplus. – Shamik

Répondre

3

Si vous utilisez une autre langue que Java pour lire les données, les pilotes JDBC permettent de lire les colonnes CLob et Blob. Pour utiliser une requête SQL directe sur un client SQL pour lire de telles colonnes, il ne fonctionnera pas normalement car les valeurs clob et blob supérieures à 4000 octets doivent être lues à l'aide d'un flux. Vous devez écrire PL/SQL pour le faire. Voici un lien utile que vous pouvez regarder

http://www.dba-oracle.com/t_read_blob.htm

+0

Merci, lien très utile. – Shamik

Questions connexes