Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-01017 with Managed Provider 4.112.3.60. Bug with ODP on Win 2008 R2?

1022962Jul 5 2013 — edited Aug 9 2013

I'm experiencing some trouble with the manage provider and I can't seem to figure out what's causing the issue.

At first, the Managed Provider seemed to be a drop in replacement for the Unmanaged Provider.  However, when we moved some code to our testing environments, the application started failing with a 'Logon Denied' error.

Our dev machines are 64 bit Win 7 and our test machines are Win 2008 R2.  The DEV machines do not have any trouble connecting to the database with the identical connection string used in the test environment.  I can connect to the database using sql plus with the connection string used in the application.

I'm at a loss on how to trouble shoot this.

Thanks.

Jon

This post has been answered by 1031480 on Aug 7 2013
Jump to Answer

Comments

Barry B

Sorry, we're on Apex 18
Oracle database is 12

AndyH

In APEX you should probably be referring to the 'APP_USER' variable to get the name of the user running your application e.g.

select v('APP_USER') from dual;
select sys_context('APEX$SESSION','APP_USER') from dual;

This assumes that your users have to authenticate to use the page, otherwise, you use will always be app_user 'nobody' and 'APEX_PUBLIC_USER' if you refer to 'USER'.
I'm not sure why you are seeing the 'ANONYMOUS' user: that's usually associated with XDB. I assume that you're not using the Embedded PL/SQL Gateway to access your application?

Barry B

Hi,

I agree. Unfortunately over a hundred reports have been created before my time using the USER variable.
This ANONYMOUS user is then configured on a custom table to produce a local language. It is what it is...
Unfortunately that logic doesn't work when the interactive reports are subscribed to.
So I was wondering how/where ths SYS value comes from, and whether there is any database or Apex setting that we could change to turn the "USER" variable from SYS into ANONYMOUS (i.e the same behaviour as we get on the application).

Barry

AndyH

You can change USER - it's 'owned' by Oracle.
If you are seeing 'SYS' when you query USER e.g.

select user from dual

then you have a very strange setup.
However, if 'SYS' is a username in your application e.g. you have some form of custom authentication then you'll need to investigate from that side.

Barry B
select user from dual

Equal SYS: This is what is happening on the subscription. I was wondering where that is set.
Equals ANONYMOUS from Apex. I don't know where that is set, but it doesn't matter anyway.
Ideally we would like it to be ANONYMOUS for both. This is what I'm asking, sorry for not being clear.

AndyH

Presumably, you've not installed your application within the SYS schema? That would be very bad.
You cannot change the value returned by USER.

Barry B

if you "select user from dual" in apex as an interactive report, what do you get?
If you subscribe to it , what do you get?

1 - 7
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Sep 6 2013
Added on Jul 5 2013
33 comments
31,361 views