Subject Re: Oracle ODBC Error
From Stu Fraser
Date Wed, 4 Oct 2006 16:18:14 -0700
Newsgroups sqlexpress

I've looked into this a little further and come up with the following:

ORA-01445 cannot select ROWID from a join view without a key-preserved table

Cause: A SELECT statement attempted to select ROWIDs from a view derived
from a join operation. Because the rows selected in the view do not
correspond to underlying physical records, no ROWIDs can be returned.

Action: Remove ROWID from the view selection clause, then re-execute the
statement.

which is all well and good, but I am not "selecting" the ROWID from this
view.  The SQL Statement is:
select * from bcas_des_responses_vw
where unit_notified_DTS between TO_DATE('2006-03-22','yyyy-mm-dd') AND
TO_DATE('2006-04-21','yyyy-mm-dd')

Is perhaps the Select * triggering this?

Stu.


"Stu Fraser" <stuart.fraser@cgi.com> wrote in message
news:ggxunkx3vi1kpom.041020062338@ANDREA...
> Hi Boris... and everyone else...:o)
>
> I have a couple of workstations out of 50 that are occasionally throwing
> this error when querying an Oracle Database.  I am basically querying
> against a view.  This query would essentially return 1-3 rows max.
>
> If anyone has seen anything like this or has any experience with something
> similar I'd appreciate hearing from you.
>
> here is the error.
>
> = SQL ERROR ===========
> Date: 20061004 08:36:56
> C:\Program Files\Ministry of Health\PC-DES1150-DP\Prod\DES.EXE, Thread: 1
> Windows XP 05.01 Build 02600 Service Pack 2, SQLXpp: 3.1.24, Runtime:
> 1.90.331
> SQLState: HY000,  ErrorCode:1445
> [Oracle][ODBC][Ora]ORA-01445: cannot select ROWID from a join view without
> a key-preserved table
>
> SQLState: 01S02,  ErrorCode:0
> [Oracle][ODBC]Option value changed.
>
> Thread ID 1
> Called from SQLSTATEMENT:EXECUTE(436)
> Called from SQLSELECT:EXECUTE(1588)
> Called from CREATESQLCURSOR(899)
> Called from GETDMARTCURSOR(1480)
> Called from (B)EDITDIMPORT(1592)
> Called from (B)EDITDIMPORT(1593)
> Called from (B)EDITDIMPORT(1619)
> Called from DC_XBPPUSHBUTTON:ACTION(488)
> Called from (B)DC_XBPPUSHBUTTON:INIT(122)
> Called from DC_GETLIST:EVENTLOOP(3910)
> Called from DC_GETLIST:READGUI(3357)
>
> SQLString: select * from bcas_des_responses_vw
> where
> unit_notified_DTS between TO_DATE('2006-03-22','yyyy-mm-dd') AND
> TO_DATE('2006-04-21','yyyy-mm-dd')
>
>
> Thanks,
>
> Stu.
>
>
>



Recent messages in this thread
 
-# Re: Oracle ODBC Error (Current message) Stu Fraser 05-Oct-2006 01:18 am
.\# Re: Oracle ODBC Error Boris Borzic <ng-... 05-Oct-2006 08:43 pm