Query Notification error invalid object nameSDAC_NS_58_QUEUE

Discussion of open issues, suggestions and bugs regarding SDAC (SQL Server Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
SpeedyC
Posts: 5
Joined: Tue 22 Jul 2008 10:36

Query Notification error invalid object nameSDAC_NS_58_QUEUE

Post by SpeedyC » Wed 30 Jul 2008 14:09

Hello

I have problem with query notification in my application. I have started two (or more) instances of the application, which both modify data and is tracking for changes i data (like connection 2 and connection 1 in sdacDemo). Lets call them instance A and B. If I close instance B, I immediately get an error message in instance A: "invalid object name 'SDAC_NS_58_QUEUE'", where the number 58 differs from time to time. When I close instance A i get the error message: "Cannot drop the service 'SDAC_NS_58', because it does not exist or you do not have permission.", and then anothor: "Assertion failure (D:\Projects\Delphi\Sdac\MSAccess.pas, line 2912)".
I do not get the error described above when i run my application on my developing machine. I do not get the error described above when i run two instances of sdacDemo.

Regards
Peter Grahm

Dimon
Devart Team
Posts: 2885
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Fri 08 Aug 2008 13:49

We could not reproduce the problem.
Please check if this problem appears with every database user. If it is possible, compose a sample to reproduce this problem and send it to dmitryg*devart*com.

SpeedyC
Posts: 5
Joined: Tue 22 Jul 2008 10:36

Post by SpeedyC » Fri 31 Oct 2008 10:12

Think we found the source of the problem. It has to do with permissions and as we don't want our program to access with a login that has serverrole as sysadmin (like sa) we have created our own login, user and schema. The login has membership in DB_OWNER but that doesnt seem to be enough. DB_OWNER gives us all permissons for database available, right? Any advice on what permissions needed to get notifications working? Is there any server permissons we need?

What happens when we have not got enough permissions is that when we close an instance (while having another one ore more instances still running) it drops all the instances queue objects found in sys.service_queues.

Regards
Peter Grahm

Post Reply