Обсуждение: Trying to connect to an Oracle instance...

Поиск
Список
Период
Сортировка

Trying to connect to an Oracle instance...

От
"Spendius"
Дата:
Hi,
I've been trying to perform a connection to an Oracle DB for a while,
to no avail. Here is what I get at my psql prompt:
postdb=# Select dblink_connect('login','hostaddr=<host IP> port=1521 \
dbname=orasid user=mylogin password=mypwd');
ERROR:  could not establish connection
DETAIL:  server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.

I installed postgresql 8.1 on an Win XP PC a few days ago without
any problem, and I get no error at all when I run any other SQL
instructions or PostgreSQL functions. I ran the
%POSTGRES_HOME%\share\contrib\dblink.sql
file as the same user (which is the 'postgres' Windows user I created
-as I have admin privs on my PC- and with which I execute the following

every time I want to use postgresql:
DOS>runas /env /user:<pc_name>\postgres
d:\prgs\postgresql\81\bin\postmaster
DOS>runas /env /user:<pc_name>\postgres "d:\prgs\postgresql\81\bin\psql
postdb"
in a DOS box)

<host IP>, orasid, mylogin and mypwd are valid parameters necessary
to connect myself to an Oracle 'orasid' DB that resides on a
Sun/Solaris
server, they work in a SQL*Plus session for example (I use the IP
address
rather than the name of this server because if I don't I get the error
"could
not translate host name "host name" to address: Unknown host", yet I
can
ping it of course). Obviously I need to configure something for the
network
inside PostgreSQL directories, don't I ?

Hopefully I gave all details required to give me some hints... Thanks
for
any suggestion...
Spendius


Re: Trying to connect to an Oracle instance...

От
Tony Caduto
Дата:
Spendius wrote:
> Hi,
> I've been trying to perform a connection to an Oracle DB for a while,
> to no avail. Here is what I get at my psql prompt:
> postdb=# Select dblink_connect('login','hostaddr=<host IP> port=1521 \
>
If you are trying to connect to a Oracle DB, don't you need to be using
DBI Link instead of DBlink?
I thought DBLink was just for Postgresql databases?

Later,

--
Tony Caduto
AM Software Design
http://www.amsoftwaredesign.com
Home of PG Lightning Admin for Postgresql
Your best bet for Postgresql Administration


Re: Trying to connect to an Oracle instance...

От
Michael Fuhr
Дата:
On Thu, Jul 13, 2006 at 05:46:55AM -0700, Spendius wrote:
> I've been trying to perform a connection to an Oracle DB for a while,
> to no avail. Here is what I get at my psql prompt:
> postdb=# Select dblink_connect('login','hostaddr=<host IP> port=1521 \
> dbname=orasid user=mylogin password=mypwd');
> ERROR:  could not establish connection
> DETAIL:  server closed the connection unexpectedly
>         This probably means the server terminated abnormally
>         before or while processing the request.

The contrib/dblink module is for connecting to other PostgreSQL
databases, not to Oracle or any other DBMS.  To connect to a non-
PostgreSQL database you could write a function in a server-side
language like PL/Perl and make the connection with DBI.  See also
DBI-Link:

http://pgfoundry.org/projects/dbi-link/

If the backend crashed then dblink might have a bug.  Can anybody
repeat this crash and get a stack trace?  I tried connecting to
MySQL and got a clean failure with the message "ERROR:  could not
establish connection".

--
Michael Fuhr

Re: Trying to connect to an Oracle instance...

От
"A.M."
Дата:
On Thu, July 13, 2006 11:03 am, Tony Caduto wrote:
> Spendius wrote:
>
>> Hi,
>> I've been trying to perform a connection to an Oracle DB for a while,
>> to no avail. Here is what I get at my psql prompt: postdb=# Select
>> dblink_connect('login','hostaddr=<host IP> port=1521 \
>>
> If you are trying to connect to a Oracle DB, don't you need to be using
> DBI Link instead of DBlink?
> I thought DBLink was just for Postgresql databases?

That's true. But why should dblink crash? That's a bug.


Re: Trying to connect to an Oracle instance...

От
Joe Conway
Дата:
A.M. wrote:
> On Thu, July 13, 2006 11:03 am, Tony Caduto wrote:
>
>>Spendius wrote:
>>>I've been trying to perform a connection to an Oracle DB for a while,
>>>to no avail. Here is what I get at my psql prompt: postdb=# Select
>>>dblink_connect('login','hostaddr=<host IP> port=1521 \
>>
>>If you are trying to connect to a Oracle DB, don't you need to be using
>>DBI Link instead of DBlink?
>>I thought DBLink was just for Postgresql databases?
>
> That's true. But why should dblink crash? That's a bug.
>

Umm, where does he say anything about a crash? I see this from the
original email:

 > Here is what I get at my psql prompt:
 > postdb=# Select dblink_connect('login','hostaddr=<host IP> port=1521 \
 > dbname=orasid user=mylogin password=mypwd');
 > ERROR:  could not establish connection
 > DETAIL:  server closed the connection unexpectedly
 >        This probably means the server terminated abnormally
 >        before or while processing the request.

That's a properly handled error. dblink is merely echoing the error
message propagated up by libpq. This doesn't look to me as though the
session *running* dblink crashed. Apparently libpq believes that the
*other end* of the connection was terminated unexpectedly, but
considering it was an Oracle instance that it was communicating with,
I'm not sure what it could/should do better. In any case, the Oracle
side of this connection is what "closed unexpectedly".

Joe