Team Foundation Server’ı sorunsuz yükledikten sonra, bu başarının vermiş olduğu sevinç projelerin raporlarını görüntülemek istediğimizde biraz sekteye uğrayabilir. TFS kurulumundan sonra Reporting Service’e müdahale etmeden çalışan bir raporlama sistemi ile ne yazık ki henüz karşılaşmadım ve duymadım. (:
Visual Studio’da Team Explorer aracılığıyla yaratmış olduğumuz projenin portal’ını açtığımızda raporları görüntülerken, ya da direk Reporting Server’ın raporlarının bulunduğu web sitesini açtığımızda aşağıdaki gibi bir hata alıyorsak yapmamız gereken bir kaç şey var.
An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset ‘WorkItemTypeParam’. (rsErrorExecutingCommand)
Öncelikle bunun nedenini bilmemiz lazım. SQL Server loglarına bakarsak, bir login sorunun log dosyalarına yazıldığını görürüz.Bu durum TFS’in TfsWareHouse database’ine ilgili raporları çekecek kullanıcının(bu kullanıcı kurulum esnasında belirttiğiniz ya da Reporting Service’i çalıştıran kullanıcı,ben genellikle local NETWORK SERVICE’ni kullanıyorum) ilgili yetkisi olmamasından dolayı. Bu yetkiyi vermek için aşağıdaki SQL sorgusunu çalıştırmamız gerekmekte.
USE [TfsWarehouse]
GO
CREATE USER [NT AUTHORITY\NETWORK SERVICE] FOR LOGIN [NT AUTHORITY\NETWORK SERVICE]
GO
USE [TfsWarehouse]
GO
EXEC sp_addrolemember N’TfsWarehouseDataReader’, N’NT AUTHORITY\NETWORK SERVICE’
GO
Bu sorgudan sonra raporların tekrardan process edilebiliyor olması gerekmekte.Bunun için bir kontrol yapmamız lazım.TFS bu aşamada Analysis Server’ı kullanıyor.Daha doğrusu Reporting Service’de bulunan OLAP data kaynağı Analysis Server’ı kullanıyor.OLAP data kaynağıda ilgili dataları Reporting Service’e ilgili dataları sağlayamadığından yukarıdaki hatayı alıyoruz. Yetki olayını yaptıktan sonra SQL Management Studio’dan bu sefer’de Analysis Server’a bağlanmamız gerekmekte.Databases kısmından TfsWarehouse’a sağ tıklayıp Process dememiz gerekmekte.(Çıkan ekranda OK derseniz Process işlemi başlayacaktır.)
Bu işlemin sorunsuz çalışması lazım.Bir sorun çıkarsa önceki SQL srogusunun sorunsuz ve düzgün kullanıcı ile çalıştırıldığından emin olun.
Şimdi tekrardan raporları görüntülemeye çalışın.Sorunsuz bir şekilde raporların geldiğini göreceksiniz.Benzer bir hatanın devam ettiğini görürseniz endişelenmeyin. Hata devam ediyorsa OLAP data kaynaklarının Reporting Service tarafından alınmadığındandır.
Bu aşamada son bir şey yapmamız gerekmekte. TFS’in yüklü olduğu makinada http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx adresine gitmemiz gerekmekte.Çıkan methodlardan GetWareHouseStatus’e tıklayıp Invoke dememiz gerekiyor.Bu method Idle,ProcessingOlap,RunningAdapters ve Blocked şeklinde değerler dönmekte. Idle olana kadar beklememiz gerekmekte.Invoke’u çağırarak bunu kontrol edebiliriz.Durum Idle olduğunda,yine http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx adresinde bu sefer Run methodunu çağırmamız ve dönen değerin true oluyor olması lazım.
Bütün bu işlemlerden sonra raporlarımızın sorunsuz bir şekilde görüntüleniyor olması gerekmekte.