Forum
OCS Üzerinde Kullanıcı Görüşmelerini İzleme
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
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
Harika bilgi hocam ,
Teşekkürler.