Zní to jako externí adresář Oracle je ideální pro práci. Mějte na paměti, že tento přístup je plný potíží, pokud se jedná o textový soubor, do kterého mohou uživatelé zapisovat. Uživatelé udělají sto věcí, o kterých jste nikdy nevěřili, že jsou možné a které způsobí chyby, a další .
Z článku:
Vytvořte adresář
udělit čtení, zapisovat do adresáře data_dir vašemu_uživateli;
Vytvořte externí tabulku
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;
a poté čtěte z tabulky
SELECT *
FROM test_ext
ORDER BY test_name;
Edit:stále to můžete udělat s adresáři, které nejsou umístěny na databázovém serveru, ale je potřeba více práce, což představuje ještě větší riziko pro bezpečnost databáze a kvalitu dat. Tento přístup se také neškáluje. Máte v úmyslu přidat nový adresář pokaždé, když je přidán nový uživatel?
Kroky umožňující společnosti Oracle přístup k souborům umístěným na jiném počítači (za předpokladu operačního systému Windows)
- vytvořte uživatele systému Windows nebo domény, který bude mít oprávnění ke čtení souborů v každém adresáři, ke kterému chcete přistupovat
- na databázovém serveru spusťte services.msc a změňte uživatele, na kterém databázová služba Oracle běží, na nového uživatele domény. Přidejte tohoto uživatele do místní skupiny s názvem ORA_DBA na databázovém serveru
- restartujte databázi, aby se změny projevily
- vytvořte adresář v databázi pomocí cesty jako //clientPc/sharedFolder
- udělte uživateli vaší databáze oprávnění ke čtení
- na klientském počítači udělení oprávnění číst uživateli domény v této složce
- ověření připojení pomocí UTLFILE k přečtení ukázkového souboru na klientském počítači