Klinkt als een Oracle externe directory is perfect voor de baan. Houd er rekening mee dat deze aanpak veel problemen met zich meebrengt als dit een tekstbestand is waarnaar gebruikers kunnen schrijven. Gebruikers zullen honderd dingen doen die u nooit voor mogelijk had gehouden en die fouten zullen veroorzaken en meer .
Uit het artikel:
Maak een map
verlenen lezen, schrijven op directory data_dir naar uw_gebruiker;
Maak een externe tabel
CREATE TABLE test_ext (
test_code VARCHAR2(5),
test_name VARCHAR2(50)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_tab_data
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
(
test_code CHAR(5),
test_name CHAR(50)
)
)
LOCATION ('test1.txt','test2.txt')
)
PARALLEL 5
REJECT LIMIT UNLIMITED;
en lees dan van de tabel
SELECT *
FROM test_ext
ORDER BY test_name;
Bewerken:u kunt dit nog steeds doen met directory's die zich niet op de databaseserver bevinden, maar er is meer werk voor nodig en dit vormt een nog groter risico voor de databasebeveiliging en gegevenskwaliteit. Deze aanpak schaalt ook niet. Bent u van plan om elke keer dat een nieuwe gebruiker wordt toegevoegd een nieuwe map toe te voegen?
Stappen om Oracle toegang te geven tot bestanden die zich op een andere computer bevinden (uitgaande van Windows-besturingssysteem)
- maak een Windows- of domeingebruiker aan die leesrechten heeft voor elke map waartoe u toegang wilt hebben
- voer op de databaseserver services.msc uit en wijzig de gebruiker waarop de Oracle-databaseservice wordt uitgevoerd in uw nieuwe domeingebruiker. Voeg deze gebruiker toe aan de lokale groep genaamd ORA_DBA op de databaseserver
- start de database opnieuw om de wijzigingen door te voeren
- maak een map in de database met een pad zoals //clientPc/sharedFolder
- leesrechten verlenen aan uw databasegebruiker
- op de clientcomputer leesrechten verlenen aan de domeingebruiker in die map
- verifieer de connectiviteit door UTLFILE . te gebruiken een voorbeeldbestand lezen op de client-pc