私はPostgreSQL 9をアプリケーションとして使用しています。データベースには「種」のテーブル があります。 。 表Iは、データベース内の画像を保存するサーバシステム上のpostgreSQLのlo_exportに COPYを使用する
INSERT INTO species(fishes,fishesimages VALUES('01',lo_import('C://01.jpg'));
を使用
CREATE TABLE fishes
(
fishes character varying(7) NOT NULL,
speciesimages oid,
CONSTRAINT species_pkey PRIMARY KEY (species)
)
WITH (
OIDS=TRUE
);
あります。私は、ホストがローカルホストあるときにこれが正常に動作しますが、それがサーバである場合、これは、サーバシステムと私には存在しないかもしれないと私はパスc://
を使用することはできません
SELECT lo_export(fishes.fishesimages,'c://outimage.jpg')
FROM fishes
WHERE fishes= '01';
を使用した画像を取得するための
とにかく権限はありません。
はので、私はこの
"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.101 -p 5432 -d myDB -U DB_admin -c "\COPY (SELECT lo_export(fishes.fishesimages,'01.jpg') FROM fishes WHERE species = '01') TO 'C://leeImage.jpeg' WITH BINARY";
よう
\ COPY
を使用しますが、このイメージファイルを作成するために着手したが、私はその無効な画像を開いたとき
誰でもできますサーバーマシンからlo_export
機能を使用してクライアントマシンにイメージを作成する方法を教えてください。
単純にSQLコマンドを 'copy(SELECT getfiledata(species.speciesimages)FROM species = 'Acaac01')のように変更します。 '' C://leeImage.jpeg 'WITH BINARY' – araqnid
どこで 'CREATE OR REPLACE FUNCTION getfiledata(lobjid oid)RETURNS bytea'と書くのですか? PostgreSQLに組み込まれているのでしょうか?ああ、右: – PresleyDias
;それをpsqlプロンプトに貼り付けて一度だけ実行すれば、それはセッション間で持続する1回限りの設定です。 – araqnid