Monday, March 12, 2012

HELP ! CoCreate of DSO for MSDAORA.1

I have configured an Linked Server from SQL Server to Oracle 9i
database.
With this link Server, i have create in a SQL Server Database a new
view who querying a view on this Linked Server (Oracle).
Also, i have an application that open a connection via ADODB with
a SQL Server database who have a view who refer to an object on Oracle
Linked Server. The connection to SQL Server is make via NT
Authentification.
When i'm connect as a domain administrator on the computer an i run
this application and i consult the view, i have no problem.
But when i'm connect with another user (who is not domain
administrator) and i run the same application i obtain this error
"[Microsoft][ODBC SQL ServerDriver][SQL Server]OLE DB error trace
[Non-interface error: CoCreate of DSO for MSDAORA.1 returned
0x80040154]"
I have search a lot on this problem but with not a lot of
solutions.
Thank !!
Jocelyn"Jocelyn Forest" <forj26@.yahoo.fr> wrote in message
news:ac34b055.0401150610.4efeb024@.posting.google.com...
> I have configured an Linked Server from SQL Server to Oracle 9i
> database.
> With this link Server, i have create in a SQL Server Database a new
> view who querying a view on this Linked Server (Oracle).
> Also, i have an application that open a connection via ADODB with
> a SQL Server database who have a view who refer to an object on Oracle
> Linked Server. The connection to SQL Server is make via NT
> Authentification.
> When i'm connect as a domain administrator on the computer an i run
> this application and i consult the view, i have no problem.
> But when i'm connect with another user (who is not domain
> administrator) and i run the same application i obtain this error
> "[Microsoft][ODBC SQL ServerDriver][SQL Server]OLE DB error trace
> [Non-interface error: CoCreate of DSO for MSDAORA.1 returned
> 0x80040154]"
> I have search a lot on this problem but with not a lot of
> solutions.
>
How is security set up for the linked server?
See sp_addlinkedsrvlogin an explanation of this topic.
David|||Hi !!
I've set Linked server security as "They will be mapped to" with
Oracle username and password (Remote user and Password).
This linked server is set with "Collation Compatible" (for
performance) and "Data Access".
Also, i mapped the same NT user ex. : "Domain\User" with the remote
user and password for Oracle.
Thanks !!
Jocelyn|||"Jocelyn Forest" <forj26@.yahoo.fr> wrote in message
news:ac34b055.0401151052.6281fecf@.posting.google.com...
> Hi !!
> I've set Linked server security as "They will be mapped to" with
> Oracle username and password (Remote user and Password).
> This linked server is set with "Collation Compatible" (for
> performance) and "Data Access".
> Also, i mapped the same NT user ex. : "Domain\User" with the remote
> user and password for Oracle.
> Thanks !!
> Jocelyn
It almost sounds like the server process is impersonating your domain user
when it makes the CoCreate call (that's the COM call that creates the Oracle
OleDb driver object).
Try doing this with a SQL login mapped to the same user and see if it makes
any difference.
The thing is this: The Oracle OleDb driver loads the OracleClient, which
needs certian file and registry permissions on the box. If you try to load
the OracleClient while impersonating a user who cannot do this, then you
might get the failure you noticed.
I do not know why the server would be impersonating the domain user when it
accesses the linked server, but it might be trying to pass the windows
identity on to the Oracle server.
David

No comments:

Post a Comment