1
連接到PostgreSQL的MYDB:Python可以打開文件,PL/Python不能
mydb=# CREATE FUNCTION file_test() RETURNS text AS $$
if open('mydir/myfile.xsl'): return 'success'
$$ LANGUAGE plpythonu;
CREATE FUNCTION
mydb=# SELECT file_test();
ERROR: IOError: [Errno 2] No such file or directory: 'mydir/myfile.xsl'
CONTEXT: Traceback (most recent call last):
PL/Python function "file_test", line 2, in <module>
if open('mydir/myfile.xsl'): return 'success'
PL/Python function "file_test"
在對Python:
>>> if open('mydir/myfile.xsl'): print 'success'
...
success
>>>
絕對路徑似乎並沒有幫助PL/Python的。我想要做的是使用Postgres的query_to_xml()並在返回時運行XSLT轉換。但要做到這一點,我需要讀取xsl文件...
如果你使用絕對路徑怎麼辦? – Gerrat
這是我的第一個想法。它沒有工作。 (相應地編輯上述內容) –
好吧,很可能文件的路徑不正確,或者PostgreSQL進程無權讀取此文件。 – Gerrat