Konvertierung von Postgres 9.0-Linux-Befehlen in Windows-Befehle

Konvertierung von Postgres 9.0-Linux-Befehlen in Windows-Befehle

ich arbeite an einer Anwendung, die ich delphi 7als Front-End und postgres 9.0als Back-End verwende.

Ich muss Bilder auf den Server hochladen, also verwende ich \lo_importund \lo_exportzum Einfügen von Bildern auf den Server und zum Abrufen der Bilder vom Server.

ich bin auf ein Problem gestoßen, bei dem das LASTOIDnach einem benötigt wird \lo_import, damit ich die OID zum Aktualisieren einer Zeile in meiner Tabelle verwenden kann, aber ich kann die Syntax in Windows nicht richtig einstellen

hier meine Frage zustackoverflow.com.. ich habe die Antwort, aber das Skript ist im Linux-Sheel-Befehl .. ich kann es nicht in Windows ausführen

         psql -h 192.168.1.12 -p 5432 -d myDB -U my_admin << EOF
         \lo_import '/path/to/my/file/zzz4.jpg'
         UPDATE species
         SET    speciesimages = :LASTOID
         WHERE  species = 'ACAAC04';
         EOF

Und

  echo "\lo_import '/path/to/my/file/zzz4.jpg' \\\\ UPDATE species SET speciesimages =   :LASTOID WHERE  species = 'ACAAC04';" | \
 psql -h 192.168.1.12 -p 5432 -d myDB -U my_admin

ich habe dies jedoch in Windows versucht

  "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.12 -p 5432 -d myDB -U my_admin -c "\lo_import 'C://im/zzz4.jpg'"; 

dann mache ich sofort (programmgesteuert)

    "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.12 -p 5432 -d nansis -U nansis_admin -c " update species SET speciesimages = :LASTOID WHERE species='ACAAC24'" 

Aber ich bekommeSyntax error at or near ":"

kann mir jemand sagen, wie ich es in einen Windows-Befehl umwandeln kann?

Antwort1

Ich habe diese Antwort auf meine Frage auf Stackoverflow erhaltenKonvertierung von Linux-Befehlen in Windows-Befehle von Postgres 9-0

Fügen Sie die Befehle einfach in eine Datei ein (z. B. import.psql).

 -- contents of import.psql
\lo_import '/path/to/my/file/zzz4.jpg'
 UPDATE species
 SET    speciesimages = :LASTOID
 WHERE  species = 'ACAAC04';

Geben Sie dann den Befehl ein

 "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.12 -p 5432 -d myDB -U my_admin -f import.psql

verwandte Informationen