Greetings to All!
 
I've tried to find solution of my problem on other pg mailing lists but without 
bigger effect.
 
I have a table A in PG. There is also table A in Oracle.
 I want to import specific row from oracle to pg, so i create plperlu function
 
CREATE OR REPLACE FUNCTION import.ora_a_row(a_id numeric)
 RETURNS dok_za AS
 $BODY$
 
In IPL:
 create_connection;
 select all columns on oracle from table a where id = a_id;
 returning tuple;
 
$BODY$
 LANGUAGE 'plperlu' VOLATILE;
 
then i can use such function in pl/pgsql;
 ....
 DECLARE:
 var A%ROWTYPE;
 BEGIN;
 ...
 select * into var from import.ora_a_row(100);
 END;...
 
Like you see it's very, very convenient.
 
And it works, but only when I make "select * from import.ora_a_row(100);" from 
psql  on postgresql server(local client).
 When I try to make that select in pgadmin or from remote machine I have tns 
error:
 
TNS:could not resolve the connect identifier specified (DBD ERROR: 
OCIServerAttach) at line 20
 
I've tried with different postgresql versions and different perls, and 
different DBI Oracle packages, so i think pg or perl versions are not causes(Of 
course environment variables are propably set etc.). Oracle Base directory is 
about 1.6 gigabyte so I think it's full client(not instant).
 
When I used PGADMIN 1.6 on postgresql server and left host editline 
blank(specifying only a pgport) it worked too.
 But when I've written "localhost" as host it didn't work (the same with 
connecting "psql -h localhost -U user database" ).
 
Anybody ancounter this kind of problem or maybe it's a bug in plperlu?
 
I'll be grateful for any of Your help.
 
Regards
 
Tomasz
 

Reply via email to