hello ... oh, it seems you did not get that one: select * FROM odbclink.query(1, 'SELECT * FROM test') as result(user_name text,score number); give it a try ;). hans On May 11, 2011, at 12:24 PM, Hsien-Wen Chu wrote: > Hi Hans > > many thanks for the answer, > > my table structure on Oracle, but I still get error as following, > Please could show me the correct SQL statement? > > > > many many thanks > > Hsien-Wen > > > SQL> desc test; > Name Null? Type > ----------------------------------------- -------- ---------------------------- > USER_NAME VARCHAR2(20) > SCORE NUMBER > > SQL> > > > > > > > > tora=# select odbclink.query(1, 'SELECT USER_NAME,SCORE from test') > as result(id int4, USER_NAME text, SCORE decimal); > ERROR: syntax error at or near "(" > LINE 1: ...y(1, 'SELECT USER_NAME,SCORE from test') as result(id int4, ... > ^ > tora=# select odbclink.query(1, 'SELECT USER_NAME,SCORE from test') as > result(USER_NAME text, SCORE decimal); > ERROR: syntax error at or near "(" > LINE 1: ...y(1, 'SELECT USER_NAME,SCORE from test') as result(USER_NAME... > ^ > > > > > 2011/5/11 Hsien-Wen Chu <chu.hsien.wen@xxxxxxxxx>: >> Dear All >> >> I have a question regarding to odbc link, >> >> >> I had a PostgreSQL database and an Oracle database, now I have created >> a dblink to Oracle database base on odbc link. >> >> >> in Oracle database, I created a user named ORATEST, and create a table >> named TEST as ORATEST user. >> >> SQL> select user_name,score from test; >> >> USER_NAME SCORE >> -------------------- ---------- >> kevin 99 >> fred 98 >> >> >> >> >> >> now I have created the database link to Oracle database over odbc link >> and get success. >> >> >> tora=# select odbclink.connect('orcl', 'oratest', 'oratest'); >> connect >> --------- >> 1 >> (1 row) >> >> tora=# select odbclink.connect('DSN=orcl;UID=oratest;PWD=oratest;'); >> connect >> --------- >> 2 >> (1 row) >> >> tora=# select * from odbclink.connections(); >> id | connected | dsn | uid | pwd | connstr >> ----+-----------+------+------+------+----------------------------- >> 1 | t | orcl | oratest| oratest| >> 2 | t | | | | DSN=orcl;UID=oratest;PWD=oratest; >> 3 | f | | | | >> 4 | f | | | | >> >> >> >> >> but the problem is that I can not execute the SQL execute it. >> >> tora=# select odbclink.query(1, 'SELECT * FROM test') as >> result(user_name text,score number); >> ERROR: syntax error at or near "(" >> LINE 1: ... odbclink.query(1, 'SELECT * FROM test') as result(user_name... >> ^ >> tora=# select * odbclink.query(1, 'SELECT * FROM test') ; >> ERROR: syntax error at or near "odbclink" >> LINE 1: select * odbclink.query(1, 'SELECT * FROM test') ; >> ^ >> tora=# select * from odbclink.query(2,'SELECT SYSDATE FROM DUAL'); >> ERROR: a column definition list is required for functions returning "record" >> LINE 1: select * from odbclink.query(2,'SELECT SYSDATE FROM DUAL'); >> ^ >> tora=# select * from odbclink.query(1,'SELECT SYSDATE FROM DUAL'); >> ERROR: a column definition list is required for functions returning "record" >> LINE 1: select * from odbclink.query(1,'SELECT SYSDATE FROM DUAL'); >> ^ >> tora=# >> >> >> does anyone mind to give me hint? >> >> >> a big thanks >> >> Hsien-Wen >> > -- Cybertec Schönig & Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt, Austria Web: http://www.postgresql-support.de -- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin