Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Access97 works with SQL-Server not Oracle

Re: Access97 works with SQL-Server not Oracle

From: Joel R. Kallman <jkallman_at_us.oracle.com>
Date: 1998/06/29
Message-ID: <35990654.7070596@newshost.us.oracle.com>#1/1

On Mon, 29 Jun 1998 12:50:48 -0700, Troy Perchotte <max_at_headroom.com> wrote:

>A query that contains a sub-query all based on a single attached table,
>and listed below, only seems to work properly when using tables that are
>in Access or SQL-Server. When attached to the exact same table in
>Oracle, I do not receive any records back from my query.
>
>Since I don't have a SQL-Server database, a Microsoft tech tested my
>problem, with the correct results. Oracle techs were unwilling to test
>the problem.
>

I am an Oracle employee. Here I am....

>I am using Oracle 8.04 on a NT 4 (SP3) PC. The ODBC driver is
>3.0.28.22.
>
>I am not sure if this is a problem is in Access, ODBC, Oracle, or
>whether it is something local to my system. Please let me know if this
>happens at other simular setups. Any suggestions would be appreciated.
>--------

I think this might be a problem with your ODBC driver or your local system.

>1. from a new Access97 database create a table called TEST with the
>following
>structure:
>
>Field Name: "ID" Data Type: "Long Integer" Index: "No Duplicates"
>Field Name: "NAME" Data Type: "Text"
>
>2. populate about 3 records with junk data.
 

>3. export the table to Oracle as "TEST_ORACLE" and also to the
>Northwinds database (or any other Access97 database) as "TEST_ACCESS".
 

>4. link the remote tables to your database.
>

I successfully did steps 1 through 4.

>5. create the following sub-query and save it as "x2"
>
>SELECT TEST.NAME
>FROM TEST
>WHERE (((TEST.NAME)="99"));
>
>Note: "99" should not be present in any of the populated records.
>

I did this step, although, since it is not used below, I counldn't figure out why you wanted this performed. Maybe it was just to perfectly recreate the steps of your scenario.

>6. create the following queries. save the first one as "z1" and the
>second as "z2":
>
>SELECT [TEST_ACCESS].Name
>FROM [TEST_ACCESS] LEFT JOIN x2 ON [TEST_ACCESS].Name = x2.NAME;

I saved this in the default Northwinds database.

>
>SELECT TEST_ORACLE.NAME
>FROM TEST_ORACLE LEFT JOIN x2 ON TEST_ORACLE.NAME = x2.NAME;
>---------

By default, Access prepends the Oracle schema owner to the table name, so for my queries, replace "TEST_ORACLE" with "SCOTT_TEST_ORACLE".

>That's it.
>
>If you run the "z1" query, you should see the NAME records that you
>entered - this is correct.

This query, against the external data from the Northwinds database, was correctly returned.

>If you run the "z2" query, you should see nothing returned - this is
>obviously NOT correct.

This query, against the external data from the Oracle database, was also correctly returned. This IS correct.

I did this using MS Access 97 and Oracle8 8.0.4 on Solaris. The ODBC driver is 8.0.4.3.0 (developed by Oracle). You can grab the Oracle-developed ODBC driver for free from our web site (at http://www.oracle.com) to try and isolate the problem a little further.

>
>Let me know if this works or doesn't work for you.
>
>Thanks in advance.
>
>Troy Perchotte
>

Thanks!

Joel

Joel R. Kallman Oracle Government, Education, & Health

Columbus, OH                             http://govt.us.oracle.com
jkallman@us.oracle.com                   http://www.oracle.com



The statements and opinions expressed here are my own and do not necessarily represent those of Oracle Corporation. Received on Mon Jun 29 1998 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US