<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Tables_externes</id>
	<title>Tables externes - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Tables_externes"/>
	<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Tables_externes&amp;action=history"/>
	<updated>2026-05-19T18:11:00Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Tables_externes&amp;diff=952&amp;oldid=prev</id>
		<title>Jpinon : Page créée avec « == Description == Permet depuis oracle d&#039;accéder par SQL a des données stockées dans des fichier sur disque.  Les données sont accessible en mode &quot;read only&quot;. Pour modifier les données il faut modifier le fichier. === Format &quot;SQL loader&quot; === Les données sont stockées dans un fichier &quot;plat&quot;. On peut définir librement le caractère de fin de champ et de fin de ligne. === Format datapump === Les données sont stockées dans un format propriétaire.  &#039;&#039;&#039;Atten... »</title>
		<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Tables_externes&amp;diff=952&amp;oldid=prev"/>
		<updated>2025-02-27T22:23:50Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « == Description == Permet depuis oracle d&amp;#039;accéder par SQL a des données stockées dans des fichier sur disque.  Les données sont accessible en mode &amp;quot;read only&amp;quot;. Pour modifier les données il faut modifier le fichier. === Format &amp;quot;SQL loader&amp;quot; === Les données sont stockées dans un fichier &amp;quot;plat&amp;quot;. On peut définir librement le caractère de fin de champ et de fin de ligne. === Format datapump === Les données sont stockées dans un format propriétaire.  &amp;#039;&amp;#039;&amp;#039;Atten... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Description ==&lt;br /&gt;
Permet depuis oracle d&amp;#039;accéder par SQL a des données stockées dans des fichier sur disque.&lt;br /&gt;
&lt;br /&gt;
Les données sont accessible en mode &amp;quot;read only&amp;quot;. Pour modifier les données il faut modifier le fichier.&lt;br /&gt;
=== Format &amp;quot;SQL loader&amp;quot; ===&lt;br /&gt;
Les données sont stockées dans un fichier &amp;quot;plat&amp;quot;. On peut définir librement le caractère de fin de champ et de fin de ligne.&lt;br /&gt;
=== Format datapump ===&lt;br /&gt;
Les données sont stockées dans un format propriétaire.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Attention&amp;#039;&amp;#039;&amp;#039; ce format me semble incompatible avec les fichiers crées par les outils externes de datapump [[Data pump]] (impdp/expdp).&lt;br /&gt;
== Création ==&lt;br /&gt;
Les fichiers devront être présent dans un répertoire définit dans oracle (exemple)&lt;br /&gt;
    CREATE DIRECTORY EXTERN_TABLES AS &amp;#039;/opt/datastore/datapump&amp;#039;;&lt;br /&gt;
    GRANT READ, WRITE ON DIRECTORY EXTERN_TABLES to user;&lt;br /&gt;
&lt;br /&gt;
=== Format &amp;quot;SQL loader&amp;quot; ===&lt;br /&gt;
On considère le fichier texte &amp;quot;&amp;#039;&amp;#039;nc.txt&amp;#039;&amp;#039;&amp;quot;:&lt;br /&gt;
   001,Ouvea,20-39-08S,166-33-43E,98814&lt;br /&gt;
   002,Lifou,20-58-00S,167-14-00E,98820&lt;br /&gt;
   003,Tiga,21-06-25S,167-48-53E,98820&lt;br /&gt;
   004,Mare,21-31-00S,167-59-00E,98878&lt;br /&gt;
   005,Belep,19-45-00S,163-40-00E,98811&lt;br /&gt;
   006,Pins,22-37-00S,167-29-00E,98832&lt;br /&gt;
&lt;br /&gt;
On le place dans le répertoire /opt/datastore/datapump (accessible par oracle).&lt;br /&gt;
Et on entre la commande de création :&lt;br /&gt;
 create table nc_ilds&lt;br /&gt;
   ( iuid               varchar2(3),&lt;br /&gt;
     name               varchar2(50),&lt;br /&gt;
     latitude   varchar2(12),&lt;br /&gt;
     longitude  varchar2(12),&lt;br /&gt;
     postal_code        varchar2(10)&lt;br /&gt;
   )&lt;br /&gt;
   organization external&lt;br /&gt;
   ( default directory EXTERN_TABLES&lt;br /&gt;
     access parameters&lt;br /&gt;
     ( records delimited by newline&lt;br /&gt;
       fields terminated by &amp;#039;,&amp;#039;&lt;br /&gt;
     )&lt;br /&gt;
     location (&amp;#039;nc.txt&amp;#039;)&lt;br /&gt;
 );&lt;br /&gt;
On peut ensuite faire des requêtes sur cette nouvelle table:&lt;br /&gt;
 SQL&amp;gt; select latitude,longitude from nc_ilds;&lt;br /&gt;
&lt;br /&gt;
 LATITUDE                             LONGITUDE&lt;br /&gt;
 ------------------------------------ ------------------------------------&lt;br /&gt;
 20-39-08S                            166-33-43E&lt;br /&gt;
 20-58-00S                            167-14-00E&lt;br /&gt;
 21-06-25S                            167-48-53E&lt;br /&gt;
 21-31-00S                            167-59-00E&lt;br /&gt;
 19-45-00S                            163-40-00E&lt;br /&gt;
 22-37-00S                            167-29-00E&lt;br /&gt;
&lt;br /&gt;
6 rows selected.&lt;br /&gt;
=== Format datapump ===&lt;br /&gt;
On peut créer une table stockée dans un fichier au format propriétaire oracle a partir de données existant dans un table oracle (ou le résultat d&amp;#039;une requête complexe).&lt;br /&gt;
&lt;br /&gt;
  create table export_ncilds&lt;br /&gt;
    organization external&lt;br /&gt;
    ( type oracle_datapump&lt;br /&gt;
      default directory EXTERN_TABLES&lt;br /&gt;
      location (&amp;#039;nc.dump&amp;#039;)&lt;br /&gt;
    ) as select * from nc_ilds;&lt;br /&gt;
&lt;br /&gt;
Ici j&amp;#039;ai utilisé la table nc_ilds crée plus haut dans l&amp;#039;article mais on peut remplacer le select par n&amp;#039;importe quelle requête.&lt;br /&gt;
&lt;br /&gt;
La table export_ncilds est crées avec le résultat de la requete &amp;#039;&amp;#039;select * from nc_ilds&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
On peut également aller consulter le fichier sur le serveur.&lt;br /&gt;
 $ ls -l nc.dump&lt;br /&gt;
 -rw-r----- 1 oracle oinstall 12288 Mar 24 16:29 nc.dump&lt;br /&gt;
&lt;br /&gt;
Le fichier ainsi crée peut être déplacé sur un autre serveur et &amp;quot;monté&amp;quot; grâce à la commande.&lt;br /&gt;
&lt;br /&gt;
 create table nc_ilds&lt;br /&gt;
  ( iuid                varchar2(3),&lt;br /&gt;
    name                varchar2(50),&lt;br /&gt;
    latitude    varchar2(12),&lt;br /&gt;
    longitude   varchar2(12),&lt;br /&gt;
    postal_code varchar2(10)&lt;br /&gt;
  )&lt;br /&gt;
  organization external&lt;br /&gt;
  ( type oracle_datapump&lt;br /&gt;
     default directory EXTERN_TABLES&lt;br /&gt;
     location (&amp;#039;nc.dump&amp;#039;)&lt;br /&gt;
   ) ;&lt;/div&gt;</summary>
		<author><name>Jpinon</name></author>
	</entry>
</feed>