Ich muss eine Datei .csv lesen, die in einem Verzeichnis meiner virtuellen Box oracle ist. In meinem lokalen System Windows mit SQL-Entwickler möchte ich eine Prozedur erstellen, die diese Datei in der virtuellen Box liest. Ich verstehe nicht, wie UTL_TCP.connection verwenden und wie diese Prozedur schreibenUTL_TCP.connection in pl sql verwenden
Antwort
Verwenden Sie externe Tabellen.
Beachten Sie, dass vor dem Erstellen der externen Tabelle das Datenbankverzeichnis erstellt werden muss. Der angegebene Speicherort wird dann zum Lesen von Dateien verwendet. Sie können Trennzeichen, Trennzeichen und Dateinamen in der DDL-Anweisung mit der Erstellung der Tabelle angeben. Nach der Einrichtung können Abfragen mit der Standard-Select-Anweisung durchgeführt werden.
Zum Beispiel:
create directory << db directory >> as '/u01';
create table ext_filename_csv (
column01 varchar2(4000),
column02 varchar2(4000),
column03 varchar2(4000)
)
organization external (
type oracle_loader
default directory << db directory >>
access parameters (
records delimited by newline
fields terminated by ",")
location (<< db directory >>:'filename.txt')
);
Lesen Sie mehr hier:
Also muss ich nicht etwas über ftp Protokoll verwenden? – filippo
Ich habe keine externe db auf meiner virtuellen Maschine oracle.Thete Ich habe nur die Datei csv und ich möchte es lesen mit einem Protokoll ftp wie in filezilla.But ich will das mit einem pl sql Verfahren om mein lokales System zu tun Windows mit SQL-Entwickler – filippo
Wenn es machbar ist, übertragen Sie die Datei. Laden Sie es als zweites. Wenn nicht, würde ich vorschlagen, dass Sie eine Dateifreigabe wie SMB Access-Host-Dateisystem verwenden. Ansonsten verwenden Sie das Paket ftp package von plsql-utils. (zB [link] (https://github.com/mortenbra/alexandria-plsql-utils/blob/master/ora/ftp_util_pkg.pkb)) –
- 1. PL/SQL Dynamische SQL-Klausel weiter verwenden
- 2. Tables of Records in PL/SQL verwenden
- 3. PL/SQL-API über zwei Datenbankverknüpfungen verwenden
- 4. PL SQL Verwenden von User Defined Type
- 5. Wie in PL/SQL
- 6. Sequenz in PL/SQL
- 7. in Oracle PL SQL
- 8. Schichtoperatoren in PL/SQL
- 9. PL SQL Dynamisches SQL
- 10. Datumsbereich in PL/SQL (Oracle)
- 11. Dynamic PL/SQL
- 12. Regulärer Ausdruck in PL/SQL
- 13. Oracle NICHT PL/SQL-
- 14. PL/SQL Developer Initialisierungsfehler
- 15. PL \ SQL verwenden ORDER BY in UNION-Abfrage
- 16. Wie Max Max und Insert zusammen in pl sql verwenden
- 17. Verwenden von DATADIFF in einer Abfrage (PL/SQL)
- 18. einfache PL/SQL-Variablen - Verwenden Sie Variable in WHERE-Klausel
- 19. Tabellenvariablen in Oracle PL/SQL?
- 20. PL/SQL-Engine in SQLDeveloper
- 21. HTML-Tabellenparser in PL/SQL
- 22. IndexOf Feature in Pl/SQL
- 23. Unescape Sonderzeichen in PL/SQL
- 24. PL/SQL CPU-Leistungsoptimierung
- 25. Orakel pl/sql arrays
- 26. Sequenz auf pl/sql
- 27. PL SQL String Vergleich
- 28. pl/sql Speichern unter
- 29. PL SQL Prozedurfehler
- 30. Pl Sql Ausnahmebehandlung
Anstatt eine neue Frage zu stellen, geben Sie bitte Ihre [vorherigen Fragen] aktualisieren (https://stackoverflow.com/questions/44501621/procedure-pl-sql-zu-verbinden-zu-virtual-box-oracle-mit-protokoll-sftp-port-22) –
'utl_tcp' ist ** nicht ** zum Lesen und Schreiben von Dateien. Sie suchen nach 'utl_file' –