Dumping CLOB des champs dans les fichiers?
Dire que vous avez de la table:
Column_name | data_type
Title | Varchar2
Text | CLOB
avec quelques lignes:
SomeUnkownMovie | A long time ago in a galaxy far, far away....(long text ahead)
FredMercuryBio | Awesomeness and stuff....(more long text)
Est-il une manière que je pourrais requête que si elle génère des fichiers comme
SomeUnkownMovie.txt
FredMercuryBio.txt
(et de l'ofc, avec leurs textes respectifs à l'intérieur)
Je pense que cela devrait être assez facile sqlplus script.. bien que je ne suis pas le seul 🙁
merci!
OriginalL'auteur filippo | 2011-09-05
Vous devez vous connecter pour publier un commentaire.
Ce code pl/sql doit travailler dans oracle 11g.
Elle exporte le texte de la clobs dans un annuaire avec le titre comme nom de fichier.
Si DBMS_XSLPROCESSOR n'est pas disponible, alors vous pouvez le remplacer DBMS_XSLPROCESSOR.clob2file avec une procédure qui utilise UTL_FILE.
Par exemple :
Ou peut-être remplacer DBMS_XSLPROCESSOR.clob2file avec dbms_advisor.create_file.
J'ai ajouté une procédure clob2file à ce que peut la remplacer.
Vous pouvez rechercher ce que DBMS_XMLGEN.CONVERTIR ne.
Ce que je comprends, UTL_FILE.FFLUSH bouffées de chaleur dans l'attente de données identifiées par le descripteur de fichier dans le fichier. Il est utile de les utiliser à l'intérieur de la boucle si vous souhaitez lire le fichier alors qu'il est encore ouvert. Par exemple, pour
tail
débogage/fichiers de journalisation alors qu'ils sont en cours d'écriture. Mais si vous voulez juste lire le fichier une fois qu'il est écrit, en dehors de la boucle est assez bon.C'est que vous ne le soupçonnez. Au point que quelque chose allait mal, je ne voulais pas que FFLUSH pour éventuellement lever une nouvelle moins significatif exception. Il y avait un problème avec le dumping le fichier, alors pourquoi se soucier de secouer la dernière foutre de la filebuffer?
OriginalL'auteur LukStorms
Êtes-vous essayer de générer des fichiers sur le serveur de base de données du système de fichiers? Ou sur le client de système de fichiers?
Si vous essayez de générer des fichiers sur le serveur de base de données de système de fichiers, il est un exemple de l'exportation d'un CLOB dans un fichier dans un autre StackOverflow thread qui est basé sur Tim Hall LOB à l'exportation des exemples (le site de Tim semble être en panne pour le moment).
Si vous essayez de générer des fichiers sur le client de système de fichiers, cela impliquerait beaucoup plus complexe SQLPlus de script. Vous seriez à la recherche à faire quelque chose comme l'interrogation de la table et en utilisant les données pour générer dynamiquement un SQLPlus de script par fichier que vous vouliez générer dynamiquement l'appel de ces scripts. Vous seriez vraiment pousser SQL*Plus de fonctionnalités de script n'est donc pas une architecture que je voudrais généralement avocat, mais je crois qu'il pourrait en être fait.
Si vous avez besoin de générer des fichiers sur le client de système de fichiers, j'aurais préfère généralement utiliser autre chose que SQLPlus. Par exemple, il est un exemple de les petits de la classe Java qui lit et écrit les CLOB BLOB et des données vers et à partir de fichiers sur le AskTom site. J'avais tendance à écrire un petit utilitaire Java, qui a couru sur le client et de l'exportation, plutôt que d'essayer de mettre trop de logique dans SQLPlus de scripts.
OriginalL'auteur Justin Cave