رفع مشکلات در Convert کردن پروژه Reporting Services 2005 به Reporting Services 2008
November 19, 2008 36 Comments
در ارتقا نسخه SQl Server reporting Services 2005 به SQL Server Reporting Services 2008 ممکن است به مشکلات متعددی بربخورید ، در زیر سه مشکلی را که من به آنها برخوردم و از سایر مشکلات جدی تر بود ، با ارائه راه حل آوردهام .
مشکل و راه حل اول
وقتی یک پروژه SQL Server Reoprting Services 2005 به SQL Server Reporting Services 2008 تبدیل میشه ، اتفاقهای زیادی میافته . یکی از واضح ترین مشکلات به همی ریختن جای نمایش فیلدهاست ، به این معنی که فیلدهایی که قبلا سمت راست نشون داده میشدن ، به سمت چپ و فیلدهایی که سمت چپ بودن ،سمت راست نشون داده میشن .
البته این مشکل ، خیلی خیلی خوبه !! ، به این معنی که SSRS 2005 با متن های RTL یا راست به چپ ( فارسی خودمون ) برای نمایش مشکل داشت ، وقتی خصوصیت Direction فیدل مورد نظر روی RTL تنظیم میشد و خصوصیت Text-Align اون Textbox ( یا هر فیلد دیگری ) روی Right تنظیم می کردیم . مقدار نمایش داده شده ، هنگام پیش نمایش در Report Viewer سمت راست بود ( همونور که ما تنظیم کردیم ) ، اما موقع چاپ گزارش مقدار نمایش داده شده ، سمت جپ چاپ میشد !! به همین دلیل ( و چون برای ما چاپ گزارش از پیش نمایش اون مهمتر بود ما ) مجبور به برعکس گذاشتن جهت این Text-Align بودیم و هر وقت می خواستیم که یک فیلد سمت راست چاپ بشه ، text-align رو روی Left و هر وقت می خواستیم که مقدار مورد نظر سمت چپ چاپ بشه ، مقدار text-align رو روی Right تنظیم می کردیم ( توجه داشته باشید که در این حالات خصوصیت Direction برابر RTL است و این مشکلات وقتی که Direction روی LTR هست پیش نمی آید )
ما با انجام کار بالا تونستیم همه چیز رو درست کنیم ، فقط مشکل در پیش نمایش Report Viewer بود که حل نشد . اما نکته خوب اینجاست که ریپورتینگ سرویس 2008 این مشکل رو حل کرده و وقتی Direction روی RTL باشه ، مقدار واقعی Text-Align نمایش داده میشه ، ( در پورژه ما که برعکس بود ، ما تنها کاری که کردیم این بود که خصوصیات Text-Align رو به مقدار اصلی تغییر دادیم (به ازای تمامی فیلدها )
مشکل و راه حل دوم
مشکل حیرت انگیز بعدی در تبدیل پروژه ریپورتینگ سرویس 2005 به ریپورتینگ سرویس 2008 ، تبدیل خود فایل solution پروژه است . به این معنی که اگر شما پروژه SSRS 2005 رو با Visual Studio 2008 باز کنید ، هیچ Pointer ی برای Select کردن آیتم ها نخواهید داشت !!! و بصورت پیش فرض هرجا کلیک کنید یک Textbox ایجاد میشه . بعد از مدتی مطمئنا دیوانه میشید که با این مشکل چه میشه کرد .
دو تا راه حل هست یکی اینکه برای انتخاب هر آیتم اول کلید CTRL رو پایین نگه دارید بعد روی آیتمی که می خواید اون رو انتخاب کنید ، Right-Click کنید . با این کار موس شما تبدیل به Pointer میشه و می تونید آیتم مورد نظر رو انتخاب کنید . قاعدتا این روش فقط به درد مواقع بحرانی می خوره و اصلا کاربردی نیست .
راه دوم و منطقی اینکه روی فایل Solution ی که پروژه ( های ) SSRS توی اون هستند ( وقتی پروژه باز نیست و شما توی محیط explorer ویندوز هستید ) کلیک راست کنید و Properties رو انتخاب کنید ، از پنجره باز شده ، از بخش پایینی گزینه Read Only رو غیر فعال کنید . وقتی که پروژه تون رو توی VS 2008 باز می کنید و پنجره Convert باز میشه ، خیلی راحت پروژه رو Convert کنید . حالا با تبدیل صحیح پروژه به یک پروژه SSRS 2008 شما آیتم Pointer رو هم توی Toolbox می بینید .
پس از تبدیل صحیح پروژه مشکل پوینتر شما حل میشه
مشکل و راه حل سوم
مشکل عجیبی که ممکنه به اون بر بخورید ، به هم ریختگی فونت ها و زبان نمایشی شماست . به این معنی که اگر در طراحی گزارش ها از متن های فارسی و انگلیسی استفاده کرده باشید ( که معمولا همینطوره ) بعد از باز کردن پروژه ممکنه یکی از دو زبان رو با حروف ناخوانا و به شکل یک مربع ببینید (همان کاراکتر معروف ناشناس ) . این مشکل در نتایج نمایشی و چاپ گزارش های شما هم قابل مشاهده خواهد بود . البته اگر از پیش تنظیم زیر رو داشته باشید ، ممکنه اصلا دچار این مشکل نشید .
راه حل این داستان اینه که از Control Panel آیتم Regional and Language Options رو باز کنید . و به قسمت Advanced برید . و از اون بخش از پنل بالایی که Language For Non Unicode Programs باشه ، زبان رو روی English ( United State ) تنظیم کنید .
با اینکار مشکل نمایش و چاپ حل خواهد شد . در صورتی که با این کار مشکل نمایش شما حل نشد ، باید روی هر کدام از TextBox ها ( یا هر فیلد دیگری ) کلیک کنید و از Properties Window ، برای هر کدام از فیلدها بطور جداگانه ، خصوصیت FontFamily رو به یک Font استاندارد انگلیسی مثل Arial تغییر بدید .
اما داستان ممکنه به این سادگیها هم حل نشه !!! چون اصلی ترین مشکل اینه که در آن فیلد خاص ( که متن اون فقط در design time به صورت انگلیسی نشون داده میشه و نهایتا یک متن فارسی رو نشون خواهد داد و یا ) ممکنه شما یک متن فارسی انگلیسی رو بنویسید مثل کتاب SQL Server in Action در این صورت بالاخره یا بجای حروف فارسی یا بجای حروف انگلیسی کاراکتر مربع رو خواهید دید . در این صورت راه چاره و درواقع تنها راه حل استفاده از فونت های یونیکد فارسی مثل فونتهای فارسی وب است که در حال حاضر تنها فونتهای ایرانی است که واقعا یونیکد است . (فردا یک مطلب راجع به یونیکد می نویسم ، به همین دلیل برای توضیحات بیشتر راجعبه یونیکد مطلب فردا را مطالعه کنید .
بروز این مشکل هم به دلیل استاندارد شدن SSRS برای زبان فارسی است ، به این معنی که فونت های غیر استاندارد محبوب !! مثل فونت های سری B برنا رایانه یا سری IPT برنا رایانه یا هر شرکت دیگه ای ، دیگه قابل استفاده نیستند و شما مجبورید که از فونت های یونیکد استاندارد استفاده کنید ، تا حالا تنها فونتهای استانداردی که من دیدم فونتهای فارسی وب هست که جدیدا فونت ایران نستعلیق هم ( فکر کنم -هنوز خودم تست نکردم ) به این مجموعه اضافه شده . بنا براین ، شما باید تمام فیلدهایی که در اونها از فونت های فارسی ( غیر استاندارد ) استفاده کردید رو با فونت های فارسی استاندارد ( فعلا فقط فونتهای فارسی وب و ایران نستعلیق – اگر بعدا فونت جدیدی پیدا کردم ، همینجا توی بخش نظرات اضافه می کنم ) جایگزین کنید .
بعد از این کار شما مشکلتون حل میشه . و هم فونتهای فارسی درست نشون داده میشن و هم فونتهای انگلیسی ( چون فونتهای فارسی وب ، هم کاراکترهای انگلیسی رو پیاده سازی کردند و هم کاراکترهای فارسی رو ، اما فونت های غیر استاندارد فارسی فقط زبان فارسی رو اون هم به شکل غلط پیاده سازی کردند – مثلا در فونت B Yekan که قبلا خود من برای نمایش اعداد از اون استفاده میکردم ، کسی که فونت رو ساخته ، هم اعداد انگلیسی رو به شکل فارسی پیاده سازی کرده ، هم اعداد عربی رو و هم اعداد فارسی رو ، یعنی مهم نیست که شما به چه زبانی تایپ می کنید ، وقتی که فونت انتخابی B Yekan باشه ، چون همه اعداد به شکل فارسی ( و بطور ناصحیح ) پیاده سازی شده ، نهایتا شما عدد رو فارسی می بینید . به شکل زیر دقت کنید .
اما چنانکه گفتم فونتهای فارسی وب از آنجا که واقعا یونیکد هستند ، هر کدام از این اعداد ( یا هر کاراکتر دیگری ) را به شکل صحیح پیاده سازی کرده اند ، برای نمونه فونت Terafik که یکی از فونتهای یونیکد فارسی وب است را مشاهده کنید . ( توجه داشته باشید که فونت Terafik که فارسی وب تولید کرده کاملا با فونت Terafic که سایر شرکت ها تولید کردهاند متفاوت است – حتی اسم فونت در حرف انتهایی هم متفاوت است -K-C )
همانطور که می بینید اعداد فارسی و عربی ( مثلا به شکل عدد 6در دو شکل بالا دقت کنید ) کاملا باید متفاوت باشند ، دلیل اینکه SSRS هم بجای کاراکترهای فونت های قبلی شما ( مثلا فونتهای سری B از برنا رایانه ) ایراد میگیرد همین پیاده سازی غیر استاندارد است ، به همین دلیل SSRS بهجای این کاراکتر غیر استاندارد ( که فونت شما آن را ایجاد کرده ) از Regional Setting سیستم شما ( زبان انتخابی ( که شما روی انگلیسی یا فارسی تنظیم کردید ) ) را قرار میدهد .
توصیه میکنم مطلب یونیکد را که فردا در این وبلاگ می نویسم حتما مطالعه کنید .در ضمن اگر شما به مشکل دیری برخوردید همینجا مطرح کنید تا سایر اشخاص هم با مشکل و راه حل آشنا شوند . با سپاس
لینکهای مرتبط
فارسی وب
لینک مستقیم همین مطلب در وبلاگ من
دانلود فونتهای یونیکد استاندارد فارسی از سایت فارسی وب
دانلود فونت ایران نستعلیق توجه داشته باشید که این فونت را خود من هنوز تست نکردم و از یونیکد بودن آن هنوز مطمئن نیستم ، اما شنیده ها نشان میدهد که این فونت هم باید یونیکد باشد . فونت ایران نستعلیق به سفارش شورای عالی انفورماتیک کشور و توسط شرکت داده ورزان هامون ایجاد شده است .
شرکت داده ورزان هامون – مجری فونت ایران نستعلیق
توضیحات ارزشمندی دادی. آفرین!
میبینم راه افتادی.
besiar matalebe mofidi ro farmodid
manam soal daram
1. inke man az toye safeye browser nemitonam print befrestam ke rajebe in moshkel ham tozih dade bodin ama bazam karam rah nayoftad!!khastam bedonam in moshkel mishe marbot be eshkal dar nasb bashe?
2. vaghti to gozaresham group mizanam va az vijegie drilldown estefade mikonam va mikham plus haye kenare groh haro baz kona , gozaresham paresh dare hey mipare bala va paiin
3. vase inkar umadam size gozaresh ro fix gozashtam masalan 80% ke ba inkar dg button zoom to reportviewer dide nemishe!!
bazam irad daram sharmande vali bashe vase bad!!
در صورتی که می خواهید از فایرفاکس پیرنت بگیرید، قادر به این کار نخواهید بود چراکه RSClient افزونهای برای اینترنت اکسپلورر است ولی اگر در IE مشکل دارید لطفا مشکل را کامل شرح بدهید.
اگر منظور شما از گروه زدن استفاده از ماتریس ها باشد که وقتی گروه رو تعریف میکنید باید برای اون تعریف کنید که چکاری رو چجوری انجام بده در این ارتباط مقاله های بسیار زیادی هست که نوشتن اونها صرفا تکرار هست
salam
mamnon az pasokheton
na man az safheye ie mikham print begiram kamelan hamon maraheli ro ke tozih dade bodin ro anjam dadam ama baz ham hamon error ghabli ro mide:
unable to load client,….
mikham bedonam mishe irad az nasbe service gozareshat bashe ba tavajo be inke report ha kar mikonan!
tanx
Pingback: Downgrading Report schema version and Report Viewer Nightmare « Hadjloo's Daily Notes
من از این سرویس در گزارشگیری یک سایت استفاده کردم
با چپ به راست کردن دایرکشن مشکل نمایش اعداد حل شده
اما زمان چاپ بازهم اعداد لاتین هستن
فونتهای فارسی که شما گفتین شاید در همه سیستمها نباشند
پس ننمی توانیم از فونت فارسی استفاده کنیم
لطفأ راهنمایی کنید
من از این سرویس در گزارشگیری یک سایت استفاده کردم
با چپ به راست کردن دایرکشن مشکل نمایش اعداد حل شده
اما زمان چاپ بازهم اعداد لاتین هستن
فونتهای فارسی که شما گفتین شاید در همه سیستمها نباشند
پس ننمی توانیم از فونت فارسی استفاده کنیم
لطفأ راهنمایی کنید
salam man gozaresh ha ro jahate namayesh be karbar be PDF tabdil mikonam.
chegoone mitavanam addad ro be farsi be karbar neshan daham?
ba tashakor.
WOW just what I was searching for. Came here by searching for green chicken coop
It’s awesome for me to have a web page, which is useful in support of my experience.
thanks admin
Outstanding post however I was wondering if you
could write a litte more on this topic? I’d be very grateful if you could
elaborate a little bit more. Kudos!
Hey there! I know this is somewhat off topic but I was wondering if you knew where I
could find a captcha plugin for my comment form? I’m using the same blog platform as yours and
I’m having trouble finding one? Thanks a
lot!
Hello there! Do you use Twitter? I’d like to follow you
if that would be okay. I’m absolutely enjoying your blog and look forward to new posts.
Very descriptive blog, I loved that bit. Will there
be a part 2?
great publish, very informative. I ponder why the opposite specialists of this sector
don’t understand this. You must continue your writing.
I’m sure, you’ve a huge readers’ base already!
Hey! This is my first comment here so I just wanted to give a quick shout out and say I really enjoy reading through your blog posts.
Can you suggest any other blogs/websites/forums that deal with
the same topics? Thanks a lot!
Good day! Do you know if they make any plugins to protect against hackers?
I’m kinda paranoid about losing everything I’ve worked hard on. Any suggestions?
Awesome article.
all the time i used to read smaller articles which also clear their motive, and that is also happening with this article which I am reading at this time.
I think this is among the most important info for me. And i am glad reading your
article. But want to remark on some general things,
The website style is great, the articles is really excellent
: D. Good job, cheers
It’s in fact very difficult in this busy life to listen news on Television,
therefore I only use world wide web for that reason, and obtain the most recent news.
What’s Going down i’m new to this, I stumbled upon this I have found It absolutely useful and it has
helped me out loads. I hope to give a contribution & help other customers like its helped me.
Great job.
Please let me know if you’re looking for a author for your site.
You have some really great posts and I think
I would be a good asset. If you ever want to take some
of the load off, I’d really like to write some content
for your blog in exchange for a link back to mine. Please blast
me an e-mail if interested. Kudos!
Thanks for sharing your thoughts about baby uggs.
Regards
First off I want to say excellent blog! I had a quick question that I’d like to ask if
you do not mind. I was curious to find out how you center yourself and clear your mind before writing.
I’ve had a difficult time clearing my thoughts in getting my thoughts out there.
I truly do take pleasure in writing but it just seems like the first 10 to
15 minutes tend to be wasted just trying to figure out how to begin. Any recommendations or tips?
Cheers!
Sweet blog! I found it while browsing on Yahoo News. Do you have any tips
on how to get listed in Yahoo News? I’ve been trying for a
while but I never seem to get there! Thanks
Good day! This is my first comment here so I just wanted
to give a quick shout out and say I genuinely enjoy reading through your articles.
Can you suggest any other blogs/websites/forums that go
over the same topics? Many thanks!
Very great post. I simply stumbled upon your blog and wanted to say that I have truly loved browsing your blog posts.
In any case I will be subscribing on your rss feed
and I hope you write once more very soon!
Thanks for your personal marvelous posting!
I genuinely enjoyed reading it, you may be a great author.I will be sure
to bookmark your blog and will eventually
come back later in life. I want to encourage you to ultimately continue your great posts, have a nice
day!
Hi it’s me, I am also visiting this site daily, this website is actually nice and the visitors are actually
sharing good thoughts.
I’m extremely pleased to discover this great site. I want to to thank you for ones time for
this fantastic read!! I definitely appreciated every little bit of it
and I have you saved as a favorite to check out new things in your
blog.
fantastic points altogether, you just won a emblem new reader.
What may you suggest in regards to your post that you simply made a few days ago?
Any certain?
Hi there mates, its great article regarding tutoringand
fully explained, keep it up all the time.
What i do not understood is in truth how you’re no longer actually a lot more smartly-liked than you may be right now.
You are so intelligent. You recognize thus considerably in relation to
this subject, produced me for my part imagine it from
numerous varied angles. Its like men and women aren’t interested
except it’s one thing to do with Woman gaga! Your individual stuffs
outstanding. Always take care of it up!
Pingback: مهاجرت پروژههای دات نت از VS 2005 به 2008 و از Framework 2.0 به 3.5 – افشار محبی