2009-12-04 30 views
1

我們有一個擁有3個許可證的Navision服務器。應始終分配一個許可以供電子商務網站使用。另外兩個是供管理員使用的。微軟Navision如何跟蹤用戶/如何在登錄時自己檢查

Unfortuneately,不時地我們拿到的網站上這種可怕的錯誤:

System.Web.HttpUnhandledException:類型System.Web.HttpUnhandledException「的異常被拋出。 ---> System.Web.Services.Protocols.SoapException:您的程序許可證不允許更多的用戶同時工作。等到另一個用戶停止使用該程序。如果您希望在系統上允許更多的同時用戶,請聯繫您的系統管理員。

這種情況通常發生在有太多用戶試圖使用Navision客戶端時......並且這會殺死網站以查找certist功能,直到我們能夠進入,sp_who查看誰在佔用會話並要求他們註銷或直接殺掉會話。

我們已經編寫了鉤入Navision登錄的代碼來檢查SQL服務器sp_who,以確保沒有太多的用戶登錄並使用Navision數據庫,但這似乎不起作用。

我在想,Navision將當前登錄狀態存儲在別的地方,這就是我們應該看的地方,而不是在SQL服務器系統表中。

任何想法? 乾杯, 蘭斯

+0

由於許可要求不同,指出您使用的是哪個版本的Navision會很有用。 – 2009-12-04 15:58:06

+0

Tim - Nav 6 - 具有Web服務的第一個版本。 – Lanceomagnifico 2009-12-10 12:58:57

回答

2

如果您使用的是Web服務,那麼您有NAV 2009或2009 SP1。 Web服務不消耗許可的會話(您可以連接無限的Web服務會話)。但是,如果您有三個許可證並連接三個或更多客戶端(任何RTC和C/SIDE的混合),則Web服務連接將失敗並顯示您描述的錯誤。

會話計數應反映您可以在master.dbo.sysprocesses中看到的內容(您需要進行一些連接以查看誰連接到了哪個數據庫)。 sysprocesses可能也是調用sp _誰的基礎。你可以通過打開C/SIDE來驗證它,然後選擇file-> database-> information然後會話。將此與sp _誰或sysprocesses進行比較。

+0

謝謝亞歷克斯 - 這讓事情變得有點過分了。我一直在看sp_who,但認爲這不可能那麼簡單,Nav會有自己的內部方法來跟蹤登錄。 – Lanceomagnifico 2009-12-10 12:58:11