Преобразование команды Linux в Postgres 9.0 в Windows - PullRequest
0 голосов
/ 21 марта 2012

Я работаю над приложением, использующим delphi 7 в качестве внешнего интерфейса и postgres 9.0 в качестве внутреннего.

Мне нужно загрузить изображения на сервер, поэтому я использую \lo_import и \lo_export для вставки изображений на сервер и получения изображений с сервера.

Я столкнулся с проблемой, когда необходимо LASTOID после \lo_import, поэтому я могу использовать OID для обновления строки в моей таблице, но я не могу установить правильный синтаксис в windows

UPDATE fishes
SET    fishesimages=17755;  -- <--last OID
WHERE  fishes='0A';

Вот мой вопрос на stackoverflow.com . Я получил ответ, но сценарий - это сценарий оболочки Linux. Я не могу запустить его в 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    fishesimages = :LASTOID
    WHERE  fishes = '04';
EOF

и

echo "\lo_import '/path/to/my/file/zzz4.jpg' \\\\ UPDATE species SET fishesimages =   :LASTOID WHERE  fishes = '04';" | \
 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 myDB-U myDB_admin -c " update species SET fishesimages = :LASTOID WHERE fishes='24'" 

Но я получаю Syntax error at or near ":"

Может кто-нибудь сказать, как его преобразовать в Windows Comnad?

1 Ответ

2 голосов
/ 21 марта 2012

Просто поместите команды в файл (скажем, 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...