COM+ SQL Server access problem

  • Hi,

    I have a COM+ component written in VB6 which communicates with a SQL Server on the same network as the application (COM+) server. All works well until I reboot the app server. When the server has rebooted, any client (web or vb) cannot execute a function that communicates with the SQL Server. The error returned is "Access Denied or SQL Server does not exist". Now if I right click the component and shut it down, all starts to work again.

    Even if anybody knows how I can stop the component from starting up when rebooted would help.

    Thanks in advance for any suggestions!

    Adrian Michalski

  • Hi Adrian,

    how did you configure the identity of the COM+ application your component is running in? Did you use a specific domain account or something like "interactive user"?

    Bye,

    SvenC

  • It sounds like the security settings on the COM+ component not matching SQL Server or the box itself.

  • Hi all,

    The identity is set to a user from the same domain which is defined in SQL Server as a db owner.

    It appears that when the app server starts up it ignores the identity setting. I'm not sure that this is the case but shutting down the component and letting it start up when accessed by a client fixes it.

    Thanks

    Adrian

  • Hi Adrian,

    after the startup and after the error occured, could you lookup the PID of the COM+ application in the Component Services snapin: select the COM+ Applications container, wwitch to Status view. Your app should be marked as Running with the PID of the dllhost.exe hosting your COM+ app.

    Start TaskManager, show the Processes tab and have a look at the column "User Name" of the row from dllhost.exe with your app's PID. You might need to activate "Show processes from all users" and select missing columns from View->Select Columns...

    That user name should be the identity accessing the SQL Server

    Bye,

    SvenC

  • Hi,

    Thanks for the reply.

    Here is what I have done:

    1) Rebooted server.

    2) When server is up, log into site. Error "SQL Server does not exist or access is denied".

    3) Log into server and retrieve PID from COM+ and lookup processes. The same user set in identity tab of component is set against this PID.

    4) Still cannot log in at this point. Right click component and shut down.

    5) Log into site and component spins up. Can now use the site successfully!!

    Thanks again

    Adrian

     

  • This is most certainly not my area of expertise but I recall reading recently a post about problems with chaining network authorisation between more than two NT / 2000 boxes. Assuming that you are using network authorisation on SQL, it might be worth trying SQL authorisation instead???

  • Hi,

    Thanks for the post. Unfortunately, my client has a rule that NT authentication is always used.

    Thanks again,

    Adrian

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply