Hallo Wissende,
schon wieder bin ich unerwartet auf ein Problem gestoßen:
Mittels
COPY tmp_imp FROM 'd:/tar/import.txt' WITH DELIMITER ' ';
-- bzw.
COPY tmp_imp to 'd:/tar/import.txt' WITH DELIMITER ' ';
Importiere/Exportiere ich eine Textdatei.
In meiner Testumgebung lief der pgServer ja als “localhost”. Ja und jetzt wollte ich den richtigen Server nutzen .
Die Datei für Copy wird (wohl) auf dem Rechner gesucht, wo der PGServer läuft. Wie kann ich auf eine Datei am Client zugreifen?
Mit StdIn/StdOut kann ich in dem Zusammenhang nicht so recht was anfangen.
Vielen Dank für eure Mühe.
EDIT:
Erst denken dann fragen :schäm:.
Ich kann ja per “richtigem” (VB-Code) die Datei hinkopieren bzw. von dort holen.
Könnte man eigentlich das Tablespace-Verzeichnis dafür nutzen oder empfiehlt sich das nicht?
Hallo,
danke für die schnelle Antwort. Aber ich vermute ich habe euch mein Problem noch nicht deutlich machen können.
Ich nutze ganz “normal” SQL-Abfrage über ADO (zum Testen im Moment im pgAdmin) und da kann ich nicht einfach ein Backslash voranstellen, denn das gibt Syntaxfehler.
Das hättest Du gleich sagen sollen. \copy ist ein Befehl in psql kein “richtiger” SQL Befehl.
Über eine Programmiersprache bleibt Dir entweder nur die Möglichkeit die Datei auf den Server zu kopieren oder eben mit COPY FROM STDIN zu arbeiten (falls das mit VBA geht - der JDBC Treiber z.B. unterstützt es nämlich nicht).
Hallo,
Dank für die schnelle Antwort.
Das hätte ich mir eigentlich denken müssen, dass das so nicht gehen kann.
Ich bin nur durch die vielen pSQL-Beispiele auf die falsche Spur gekommen.
Naja dann wird’s halt etwas “unschön”, denn ich denke nicht, dass ich per ODBC die Daten “transportieren” kann.
Guten Morgen ihr fleißigen Helfer,
ich muss noch mal kurz nachhaken: [quote="“Steffen”]Könnte man eigentlich das Tablespace-Verzeichnis dafür nutzen oder empfiehlt sich das nicht?[/quote]Könnte ich in diesem Verzeichnis einen Unterordner erstellen und dort die temporären Dateien zum Datenaustausch lokaler Rechner/Server hinlegen oder komme ich da Postgres in die Quere?