我正在使用PostgreSQL 9.0的Delphi 7應用程序。我有一些圖像作爲OID
存儲在數據庫中,並且應用程序遠程連接到PostgreSQL。PostgreSQL,存儲過程的lo_export查詢
我使用這個查詢:
"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.12 -p 5432 -d MyDB -U myDB_admin -c "\lo_export 16848379 'C://leeImage.jpeg'"
,並在窗體上顯示圖像。這工作正常,但需要約1秒左右來執行和顯示圖像。
所以我試圖將查詢轉換爲一個存儲過程是這樣的:
CREATE OR REPLACE FUNCTION GET_FISHIMAGE(path TEXT ,Host TEXT,DatabaseName TEXT,userName TEXT,outputpath TEXT) RETURNS text AS $$
BEGIN
//perform this..!!!
//"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.12 -p 5432 -d myDB -U myDB_admin -c "\lo_export 16848379 'C://leeImage.jpeg'"
END;
$$ LANGUAGE plpgsql;
我已經在互聯網上搜索,但不能計算出,如果轉換甚至有可能。 任何人都可以告訴我如何將上述查詢轉換爲存儲過程?
如果這些照片是不是我不能添加'psql'標籤莫名其妙 – PresleyDias
* *真大,那麼使用'bytea'可能是一個更好的辦法 –
你可以更新你的Delphi的PostgreSQL驅動程序名稱/版本的帖子?每個驅動程序都有自己的方式來獲取大對象和二進制數據。 –