magnify
Home OCS OCS Üzerinde Kullanıcı Görüşmelerini İzleme Archiving Report for OCS 2007 R2
formats

OCS Üzerinde Kullanıcı Görüşmelerini İzleme Archiving Report for OCS 2007 R2

Tarih 08 Temmuz 2010 yazar içinde OCS

Eğer Quest vb bir program satın almak istemiyorsanız , ancak OCS üzerinde kullanıcıların konuşmalarını raporlamak istiyorsanız aşağıdaki SQL queryleri işinize yarayacaktır.
/*  Bir kişinin UserId’sinin bulunması         */

SELECT *
FROM [LcsLog].[dbo].[Users]
WHERE [UserUri] LIKE ‘aaaaaaaa%’
GO

öncelikle yukarıdaki query ile OCS üzerindeki kullanıcıların veri tabanı üzerinde hangi ID numarası ile saklandığını bulmamız gerekmektedir. Buradaki format değişken olabilir yani şirket içerisinde ocs için nasıl bir isimlendirme yapısı kullanıyorsanız ona göre değişiklik yapabilirsiniz.

User ID yi aldıktan sonra aşağıdaki query ile bu kullanıcının tüm kullanıcılar ile belirli bir tarih aralığında konuştuğu verilere ulaşabilirsiniz. Not ; OCS standart kurulum ile bu logları “lcslog” veri tabanında tutmaktadır.
/*  Bir kişinin tüm görüşmeleri             */

DECLARE @IlkTarih DateTime
DECLARE @SonTarih DateTime
DECLARE @PersonelId Int

SET @PersonelId = XXXX       /* RAPORLANACAK KİŞİNİN OCS’deki IDsi */
SET @IlkTarih = ’01/01/2010′ /* BAŞLANGIÇ TARİHİ */
SET @SonTarih = ’06/15/2010′ /* BİTİŞ TARİHİ */

SELECT M.SessionIdTime, M.MessageIdTime, u1.UserUri as [From], u2.UserUri as [To], M.Body
FROM LcsLog.dbo.Messages M
LEFT JOIN LcsLog.dbo.Users u1 ON M.FromId = u1.UserId
LEFT JOIN LcsLog.dbo.Users u2 ON M.ToId = u2.UserId
WHERE
(M.FromId = @PersonelId OR M.ToId = @PersonelId)
/*           AND LcsLog.dbo.Messages.MessageIdTime BETWEEN @IlkTarih AND @SonTarih?*/
AND (DATALENGTH(M.Body) > 0)
ORDER BY M.SessionIdTime, M.MessageIdTime

Bir kişinin tüm görüşmeleri değilde iki kişi arasındaki görüşmeler için aşağıdaki query’ yi kullanabilirsiniz

/*  İki Kişi arasındaki görüşmeler            */

DECLARE @IlkTarih DateTime
DECLARE @SonTarih DateTime
DECLARE @PersonelId1 Int
DECLARE @PersonelId2 Int

SET @PersonelId1 = XXXX       /* RAPORLANACAK 1. KİŞİNİN OCS’deki IDsi */
SET @PersonelId2 = XXXX       /* RAPORLANACAK 2. KİŞİNİN OCS’deki IDsi */
SET @IlkTarih = ’01/01/2010′  /* BAŞLANGIÇ TARİHİ */
SET @SonTarih = ’06/15/2010′  /* BİTİŞ TARİHİ */

SELECT M.SessionIdTime, M.MessageIdTime, u1.UserUri as [From], u2.UserUri as [To], M.Body
FROM LcsLog.dbo.Messages M
LEFT JOIN LcsLog.dbo.Users u1 ON M.FromId = u1.UserId
LEFT JOIN LcsLog.dbo.Users u2 ON M.ToId = u2.UserId
WHERE
((M.FromId = @PersonelId1 AND M.ToId = @PersonelId2) OR (M.FromId = @PersonelId2 AND M.ToId = @PersonelId1))
/*           AND LcsLog.dbo.Messages.MessageIdTime BETWEEN @IlkTarih AND @SonTarih?*/
AND (DATALENGTH(M.Body) > 0)
ORDER BY M.SessionIdTime, M.MessageIdTime

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
OCS Üzerinde Kullanıcı Görüşmelerini İzleme Archiving Report for OCS 2007 R2 için yorumlar kapalı  comments 
© Hakan Uzuner
credit