English 中文(简体)
How does Microsoft Navision keep track of users/how to check at login myself
原标题:

We have a Navision server with 3 licenses. One license should ALWAYS be allocated to be used by the eCommerce website. The other two are for the admin peeps to use.

Unfortuneately, from time to time we get this dreaded error on the website:

System.Web.HttpUnhandledException: Exception of type System.Web.HttpUnhandledException was thrown. ---> System.Web.Services.Protocols.SoapException: Your program license does not permit more users to work simultaneously. Wait until another user has stopped using the program. Contact your system administrator if you want to allow more simultaneous users on your system.

This usually happens when one too many users are trying to use the Navision clients... and this kills the website for certian funcitons until we can get in, sp_who to see who s hogging the sessions and ask them to log off or kill the sessions outright.

We have written code to hook into the Navision login to check the SQL server sp_who to make sure that there aren t too many users logged in and using the Navision database, but this doesn t seem to be working.

I m thinking that Navision stores the currently logged in status somewhere else, and that is where we should be looking, not in the SQL server system tables.

Any ideas? Cheers, Lance

最佳回答

If you are using web services, then you have either NAV 2009 or 2009 SP1. Web services do not consume licensed sessions (you can connect unlimited web service sessions). However, if you have three licenses and connect three or more clients (any mixture of RTC and C/SIDE), web service connections will fail with the error you described.

Session counting should reflect what you can see in master.dbo.sysprocesses (you will need to do some joins to see who is connected to what database). sysprocesses is probably also the basis of calling sp_who. You can verify this yourself by opening C/SIDE, then select file->database->information then sessions. Compare this with sp_who or sysprocesses.

问题回答

暂无回答




相关问题
Export tables from SQL Server to be imported to Oracle 10g

I m trying to export some tables from SQL Server 2005 and then create those tables and populate them in Oracle. I have about 10 tables, varying from 4 columns up to 25. I m not using any constraints/...

SQL server: Can NT accounts be mapped to SQL server accounts

In our database we have an SQL server account that has the correct roles to access some of the databases. We are now switching to windows authentication and I was wondering if we can create a NT user ...

SQL Server 2000, ADO 2.8, VB6

How to determine if a Transaction is active i.e. before issuing Begin Transaction I want to ensure that no previous transaction are open.. the platform is VB6, MS-SQL Server 2000 and ADO 2.8

热门标签