2
在Delphi中使用FireDAC調用Postgresql函數時遇到一些小問題。 PostgreSQL的功能定義如下:無法調用應返回文本值的Postgresql函數
CREATE OR REPLACE FUNCTION public."pgpDecryptMe" (
todecode text
)
RETURNS text AS
$body$
DECLARE
PGPPrivate TEXT;
BEGIN
...
因此,預計「文本」值,並返回一個「文本」的價值。 我可以用一個長文本參數(超過900個字符)調用它,並且它在任何SQL管理工具中返回正確的值沒有任何問題。
select "pgpDecryptMe"('c1c04c030...a378624e6a659a20765') as Decrypt
但與下面的代碼調用它在德爾福:
PGQuery.SQL.Text := 'select "pgpDecryptMe"(:test) as testvalue';
PGQuery.ParamByName('test').AsString := 'c1c04c030...a378624e6a659a20765';
PGQuery.Open();
使我有以下錯誤信息:
[FireDAC][DatS]-2. Object [id] is not found
我一派,這裏搜查,但找不到任何解決方案爲了這個問題。 這可能是一些非常小的,我不能看到:-(
我用Delphi XE7和PostgreSQL 9.3工作