Thread: Oracle HSODBC problems

Oracle HSODBC problems

From
"LLC"
Date:
Hi List;
 
We've setup an oracle HSODBC (Heterogeneous Services) connection to a postgres database using the postgresql ODBC driver. The odbs driver and oracle instance are on a windows box and the Postgres db is on a red hat box. We've specified the db name in the ODBC DSN and in the query but each time we get 'table does not exist'. Based on the postgres logs I see that the database is always 'postgres' . Since postgres is the default db it leads me to believe that the oracle connection is not passing the database name...
 
Anyone have any experiences similar, know of any work-arounds, etc?
 
Thanks in advance

Re: Oracle HSODBC problems

From
"Joshua D. Drake"
Date:
LLC wrote:
> Hi List;
>
> We've setup an oracle HSODBC (Heterogeneous Services) connection to a postgres database using the postgresql ODBC
driver.The odbs driver and oracle instance are on a windows box and the Postgres db is on a red hat box. We've
specifiedthe db name in the ODBC DSN and in the query but each time we get 'table does not exist'. Based on the
postgreslogs I see that the database is always 'postgres' . Since postgres is the default db it leads me to believe
thatthe oracle connection is not passing the database name... 
>
> Anyone have any experiences similar, know of any work-arounds, etc?

In the ODBC DSN you can specify the database.

Joshua D. Drake


>
> Thanks in advance
>


--

    === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
    Providing the most comprehensive  PostgreSQL solutions since 1997
              http://www.commandprompt.com/



Re: Oracle HSODBC problems

From
"Jonah H. Harris"
Date:
On 8/29/06, LLC <kevin@kevinkempterllc.com> wrote:
> each time we get 'table does not exist'

In PostgreSQL:
CREATE TABLE test_tbl (test_id NUMERIC(10) NOT NULL PRIMARY KEY,
test_name VARCHAR(32));

In PostgreSQL:
INSERT INTO test_tbl VALUES (1, 'From PostgreSQL');

In Oracle over HSODBC:
INSERT INTO "test_tbl"@dblinkname VALUES (2, 'From Oracle');


--
Jonah H. Harris, Software Architect | phone: 732.331.1300
EnterpriseDB Corporation            | fax: 732.331.1301
33 Wood Ave S, 2nd Floor            | jharris@enterprisedb.com
Iselin, New Jersey 08830            | http://www.enterprisedb.com/

Re: Oracle HSODBC problems

From
"LLC"
Date:


----- Original Message -----


Subject: Re: [ODBC] Oracle HSODBC problems


From: "Jonah H. Harris" <jonah.harris@gmail.com>


Date: Tue, August 29, 2006 20:11





On 8/29/06, LLC <kevin@kevinkempterllc.com> wrote:
> each time we get 'table does not exist'

In PostgreSQL:
CREATE TABLE test_tbl (test_id NUMERIC(10) NOT NULL PRIMARY KEY,
test_name VARCHAR(32));

In PostgreSQL:
INSERT INTO test_tbl VALUES (1, 'From PostgreSQL');

In Oracle over HSODBC:
INSERT INTO "test_tbl"@dblinkname VALUES (2, 'From Oracle');


--
Jonah H. Harris, Software Architect | phone: 732.331.1300
EnterpriseDB Corporation            | fax: 732.331.1301
33 Wood Ave S, 2nd Floor            | jharris@enterprisedb.com
Iselin, New Jersey 08830            | http://www.enterprisedb.com/

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster




Hi Jonah;

The above works so long as the test_tbl lives in the 'postgres' database
(the default db). If I run the folowing it does not work. Oracle cannot
find the table because it's not connecting to the testdb database. The
postgres logs indicate a connection attempt via the postgres database.

The correct database is specified in the odbs DSN as well, but seems to
have no effect.

Thanks for your help...


In PostgreSQL:
CREATE database testdb;

\c testdb

CREATE TABLE test_tbl (test_id NUMERIC(10) NOT NULL PRIMARY KEY,
test_name VARCHAR(32));

In PostgreSQL:
INSERT INTO testdb.test_tbl VALUES (1, 'From PostgreSQL');

In Oracle over HSODBC:
INSERT INTO "testdb.test_tbl"@dblinkname VALUES (2, 'From Oracle');



Re: Oracle HSODBC problems

From
"LLC"
Date:
Hi Joshua;


I do have the database name in the ODBC DSN but it seems to have no
effect.  In the below samples, sample 1 works and sample 2 does not.

Thanks for your help


Sample 1:
In PostgreSQL:
CREATE TABLE test_tbl (test_id NUMERIC(10) NOT NULL PRIMARY KEY,
test_name VARCHAR(32));

In PostgreSQL:
INSERT INTO test_tbl VALUES (1, 'From PostgreSQL');

In Oracle over HSODBC:
INSERT INTO "test_tbl"@dblinkname VALUES (2, 'From Oracle');

Sample 2:
In PostgreSQL:
CREATE database testdb;

\c testdb

CREATE TABLE test_tbl (test_id NUMERIC(10) NOT NULL PRIMARY KEY,
test_name VARCHAR(32));

In PostgreSQL:
INSERT INTO testdb.test_tbl VALUES (1, 'From PostgreSQL');

In Oracle over HSODBC:
INSERT INTO "testdb.test_tbl"@dblinkname VALUES (2, 'From Oracle');




Re: Oracle HSODBC problems

From
"Jonah H. Harris"
Date:
On 8/30/06, LLC <kevin@kevinkempterllc.com> wrote:
> I do have the database name in the ODBC DSN but it seems to have no
> effect.  In the below samples, sample 1 works and sample 2 does not.

Hmm... I've gotten it to work before with differing database names.  I
don't recall doing anything special to configure it.

--
Jonah H. Harris, Software Architect | phone: 732.331.1300
EnterpriseDB Corporation            | fax: 732.331.1301
33 Wood Ave S, 2nd Floor            | jharris@enterprisedb.com
Iselin, New Jersey 08830            | http://www.enterprisedb.com/