Звучи като външна директория на Oracle идеален е за работа. Имайте предвид, че този подход е изпълнен с трудности, ако това е текстов файл, в който потребителите могат да пишат. Потребителите ще направят стотици неща, които никога не сте смятали за възможни, които ще причинят грешки и още .
От статията:
Създайте директория
предоставяне на четене, запис в директория data_dir на your_user;
Създайте външна таблица
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;
и след това прочетете от таблицата
SELECT *
FROM test_ext
ORDER BY test_name;
Редактиране:все още можете да направите това с директории, които не се намират на сървъра на базата данни, но е необходима повече работа и това представлява още по-голям риск за сигурността на базата данни и качеството на данните. Този подход също не мащабира. Възнамерявате ли да добавяте нова директория при всяко добавяне на нов потребител?
Стъпки за разрешаване на достъп на Oracle до файлове, намиращи се на друга машина (приемайки операционна система Windows)
- създайте потребител на Windows или домейн, който ще има разрешения за четене на файлове във всяка директория, до която искате да получите достъп
- изпълнете services.msc на сървъра на базата данни и променете потребителя, на който работи услугата за база данни на Oracle, на вашия нов потребител на домейна. Добавете този потребител към локалната група, наречена ORA_DBA на сървъра на базата данни
- рестартирайте базата данни, за да влязат в сила промените
- създайте директория в базата данни, като използвате път като //clientPc/sharedFolder
- дайте разрешения за четене на вашия потребител на базата данни
- на клиентската машина предоставя четене на потребителя на домейна в тази папка
- проверете свързаността с помощта на UTLFILE за четене на примерен файл на клиентския компютър