From: | Hsien-Wen Chu <chu(dot)hsien(dot)wen(at)gmail(dot)com> |
---|---|
To: | Hans-Jürgen Schönig <hs(at)cybertec(dot)at> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: Question about odbc link to Oracle database from PostgreSQL |
Date: | 2011-05-11 12:46:40 |
Message-ID: | BANLkTi=T4aZEH6wprtibceJ7+vZx36oc8g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Hi Hans
Many many thanks, I have executed the SQL, how ever, it does not work,
I don't know what's wrong
tora=# select * FROM odbclink.query(1, 'SELECT * FROM test') as
result(user_name text,score number);
ERROR: type "number" does not exist
LINE 1: ...SELECT * FROM test') as result(user_name text,score number);
^
tora=# select * FROM odbclink.query(1, 'SELECT user_name,score FROM
test') as result(user_name text,score number);
ERROR: type "number" does not exist
LINE 1: ...e,score FROM test') as result(user_name text,score number);
^
tora=#
2011/5/11 Hans-Jürgen Schönig <hs(at)cybertec(dot)at>:
> 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(dot)hsien(dot)wen(at)gmail(dot)com>:
>>> 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
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Hans-Jürgen Schönig | 2011-05-11 12:48:11 | Re: Question about odbc link to Oracle database from PostgreSQL |
Previous Message | Hans-Jürgen Schönig | 2011-05-11 10:28:22 | Re: Question about odbc link to Oracle database from PostgreSQL |