Postgres 9.0 Linux 명령을 Windows 명령으로 변환 [닫기]

Postgres 9.0 Linux 명령을 Windows 명령으로 변환 [닫기]

delphi 7저는 프런트엔드와 백엔드 역할을 하는 애플리케이션을 개발 중입니다 postgres 9.0.

이미지를 서버에 업로드해야 하므로 서버에서 이미지를 사용 \lo_import하고 삽입하고 서버에서 이미지를 가져옵니다.\lo_export

LASTOIDOID가 있는 테이블의 행을 업데이트할 수 있도록 after가 필요한 문제가 발생했지만 \lo_importWindows에서 이를 올바르게 설정하는 구문을 얻을 수 없습니다.

이게 내 문제야stackoverflow.com..답을 얻었지만 스크립트가 Linux sheel 명령에 있습니다..Windows에서 실행할 수 없습니다.

         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

그리고

  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

나는 이것을 Windows에서 시도했다

  "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'"; 

그런 다음 즉시 (프로그래밍 방식으로) 나는

    "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'" 

하지만 이해한다Syntax error at or near ":"

누구든지 이것을 Windows 명령으로 변환하는 방법을 말해 줄 수 있습니까?

답변1

stackoverflow에 대한 질문에서 이 답변을 얻었습니다.postgres-9-0-linux-command를 Windows 명령으로 변환

명령을 파일(예: import.psql)에 넣으세요.

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

그런 다음 명령을 실행

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

관련 정보