Archive

Archive for the ‘Reporting Services’ Category

Reporting Services – Unhandled Execution Error

February 24th, 2010 No comments

VS2005-SQL2005 üzerinde problemsiz olarak çalışmakta olan Reporting Services projem, bir sabah gelip projemi açmak istediğimde çalışmamaya karar verdi. Hem tarayıcıda hem VS içerisinde şu hata ile karşılaşıyordum:

Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 22.02.2010 15:44:47
Event time (UTC): 22.02.2010 13:44:47
Event ID: 0e75e77490de4d3f8f881f3f3c94afd0
Event sequence: 20
Event occurrence: 1
Event detail code: 0 

Application information:
    Application domain: /LM/W3SVC/1/ROOT/XYZ-1-129113197812168356
    Trust level: Full
    Application Virtual Path: /XYZ
    Application Path: D:\Projeler\XYZ\
    Machine name: JERRY 

Process information:
    Process ID: 5804
    Process name: w3wp.exe
    Account name: IIS APPPOOL\ASP.NET V2.0 

Exception information:
    Exception type: COMException
    Exception message:  

Request information:
    Request URL: http://localhost/XYZ/Proposals/ProposalInfo.aspx?PROPOSALID=538
    Request path: /XYZ/Proposals/ProposalInfo.aspx
    User host address: ::1
    User:
    Is authenticated: False
    Authentication Type:
    Thread account name: ADV\xxx.yyyy

Thread information:
    Thread ID: 6
    Thread account name: ADV\xxx.yyyy
    Is impersonating: False
    Stack trace:    at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()
   at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)
   at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID)
   at Microsoft.Reporting.WebForms.ServerReport.GetExecutionInfo()
   at Microsoft.Reporting.WebForms.ServerReport.SetParameters(IEnumerable`1 parameters)
   at General.PrepareBarcode(ReportViewer rptBarcode, String symbology, String codeText) in d:\Projeler\XYZ\App_Code\General.cs:line 336
   at Barcode.DrawBarcode() in d:\Projeler\KSL-LMS-CRM\LAB_CRM\Barcode.ascx.cs:line 46
   at Barcode.set_CodeText(String value) in d:\Projeler\XYZ\Barcode.ascx.cs:line 28
   at Proposals_ProposalInfo.GetDetails(Int64 proposalid) in d:\Projeler\XYZ\Proposals\ProposalInfo.aspx.cs:line 257
   at Proposals_ProposalInfo.Page_Load(Object sender, EventArgs e) in d:\Projeler\XYZ\Proposals\ProposalInfo.aspx.cs:line 72
   at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
   at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at SecurityGuard.OnLoad(EventArgs e) in d:\Projeler\XYZ\App_Code\SecurityGuard.aspx.cs:line 79
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Uzun süre Google’dan medet umdum ancak birebir bu hatayı alan hiç bir soruya rastlayamadım. Okuduğum ilgisiz bazı makaleler ve hatanın olduğu satırdaki metot adından da yola çıkarak (GetSecureMethods), sorunun bir yetkilendirme sorunu olabileceğini düşündüm. Web.config dosyamda ise gerekli impersonation bilgisi bulunuyordu ve şifreler/adlar doğruydu.

Eğer tanımlamalar tamamsa ve impersonation çalışmıyorsa sorunun WMI’da olabileceğini düşündüm. Aşağıdaki iki satır ile winmgmt servisini durdurup/başlattım.

net stop winmgmt
net start winmgmt

Ve tadaaa. Hem projem açılıyor hem da tarayıcıda düzgün görüntüleniyor :)

Kısacası; eğer yetkilerinizden eminseniz (her zaman olmayın, ben akşam çalışan sabah çalışmayınca emin olabildim) ve impersonation ayarlarınız da doğruysa ve hala yetki problemleri yaşıyorsanız, sorununz WMI olabilir. Ya bir bilgisayar restartı yada WMI servisini baştan başlatmak sorununuzu çözebilir…

SQL Server 2005 Reporting Services – Tablo padding sorunu

January 7th, 2010 No comments

SQL Server 2005 Reporting Services’da yakın zamanda başıma gelen bir sorunu ve çözümünü paylaşmak istedim. Kullandığınız Table nesnesinde, hücrelerin alt padding değerlerini kullanarak satır aralarını açıyorsanız, tablonun sayfa sonunda ortadan bölünmesi durumunda arada bir satırı kaybetme riski ile karşı karşıyasınız demektir. Bu sorunun sadece PDF çıktısında olduğunu da belirtmek isterim. Sorunun sebebi, padding olan satırlarda, PDF export modülünün satır yüksekliklerini yanlış hesaplamasından dolayı satırın footer altında kalması. Aslında satır kaybolmuyor, fakat footer altında kaldığı için görünmüyor.

Sorunun çözümü ise oldukça basit. Satırlar arasında boşluk bırakmak istiyorsanız, tekrar eden satır grubuna bir satır daha ekleyin ve bunun yüksekliğini değiştirin. Eğer satır aralığını programatik olarak değiştirmek istiyorsanız, yine bu boş satırdaki hücrelerin alt sınır padding değerleri ile oynayarak bunu da sağlayabilirsiniz.
Bu çözümde aslında hata olmasını engellemiş olmuyoruz. Hata olduğunda, kaybolma riski olan satır bir data satırı değil boş bir satır olmuş oluyor. Bu sayede çıktıda bir sorun yaşanmamış oluyor.
Categories: Reporting Services Tags:

SQL Server Kurulum Problemi

October 21st, 2009 No comments

SQL Server 2005/2008 kurulumları sırasında (özellikle kaldırıp tekrar kurmalarda), kurulum son aşamaya kadar gelip, sebep göstermeksizin fail olabiliyor. Bir kaç defa başıma gelen sorun, bende hep aynı şekilde çözüldü.

Sistem servsilerinde “SQL Server VSS Writer” olarak görünen, program ekle/kaldırda ise “VSS Writer” olarak görünen servisin kaldırılması gerekiyor. Bu servisi program ekle/kaldırdan kaldırıp, bilgisayarı yeniden başaltıp SQL Server kurulumunu yeniden yaparsanız sorununuz çözülebilir.

Ayrıca bazı ek notlar:
1. Kurulum sırasında, default parametreleri kesinlikle kullanmayın
2. Kurulum adımlarında size sorulan, kurulum sonrası şu şu servisleri başlat kısmında, hiç bir servis seçili olmasın. Herhangi başka bir sebeple servis başlamazsa kurulumu geri alabiliyor bazen setup.
3. Eğer SQL Server Reporting Servcies de kuruyorsanız, default ayarlarla konfigüre et seçeneğini seçmeyin, sonradan düzeltilemeyen bazı ayarlar yapılabiliyor. Reporting Services’ı konfigüre etme opsiyonunu seçin mutlaka. Kurulumdan sonra adım adım bir ekranla konfigüre etmek mümkün zaten.
4. Kurulum sırasında mutlaka “Mixed Mode” seçin.
5. Birden fazla instance kullanmayacaksanız bile, default instance kurulum yapmayın, named instance kurulum yapın.

Benden bu kadar, sorunsuz kurulum dileklerimle…