تبليغاتX
UNiComp.iR | Download Direct Tutorials Video , Film | دانلودمستقیم فیلم آموزشی،کتاب،جزوه،مقاله

امکانات جدید Visual Studio برای SQL کارها


مترجم : آئرین خرسند مهند

امکانات جدید Visual Studio برای SQL کارها

با ویژگیهای جدید گزارش گیری در SQL Server 2008 آشنا شوید

نسخۀ Visual Studio 2008 SP1  که در آگوست 2008 به بازار آمد , ویژگیهای بسیاری دارد که نسخۀ RTM آن نداشت . در اینجا با ویژگیهایی از گزارش گیری و data caching در SP1 (سرویس پک 1) آشنا می شوید که توسعه دهندگان نرم افزار می توانند در برنامه هایشان از آنها بهره ببرند . در ذیل برای اطلاعات بیشتر در مورد دیگر ویژگیهای Visual Studio 2008 SP1 , لیستی از ویژگیهای جدید آن آورده شده است .

لیستی از ویژگیهای جدید Visual Studio 2008 SP1 

در زیر لیستی از امکانات جدید یا بهینه شده ای که مایکروسافت در Visual Studio 2008 SP1 ارائه کرده را مشاهده می کنید :

  • Smart Device Projects
  • Occasionally connected Applications
  • کنترل ها و کامپوننت های Power Packs
  • کنترل DataRepeater
  • کنترلهای Line  و  Shape
  • کامپوننت  PrintForm
  • Printer Compatibility Library
  • Distributing Power Packs
  • .Net Framework Client Profile Support

برای اطلاعات بیشتر به سایت زیر مراجعه کنید :

msdn.microsoft.com/en-us/library/bb386063.aspx#occ_connected.

چه امکانات جدیدی به Reporting اضافه شده ؟

هنگامیکه Visual Studio 2005 کنترلِ Report Viewer را که در واقع یک Report Designer بهینه شده و یک ابزارِ deployment است را ارائه داد بسیاری از developerهای SSRS را خوشنود کرد . اما نسخۀ RTM ویژوال استودیو 2008 از هیچ پروژۀ هوش تجاری (Business Intelligence (BI))  پشتیبانی نمی کرد . حتی نمی شد BI جدیدی در آن ساخت . Visual Studio 2008 می تواند پروژه هایی که کنترلِ Report Viewer دارند را باز کند ولی پروژه های SSRS BI را همچنان نمی توان باز کرد . ایجاد data source به نسخه های pre-release پایگاه داده  SQL Server 2008 (نسخه هایی که بصورت غیر رسمی قبل از ورود محصول به بازار می آیند) با مشکلاتی مواجه است . (بهتر است هیچگاه نسخه های Pre-release نرم افزارها را روی سیستمهایی که براحتی نمی توان آنها را فرمت یا rebuild کرد نصب نکنید ).

کنترلِ Report Designer

با نصب SQL Server 2008 و ورژنِ SP1 ویژوال استودیو 2008  بالاخره میتوان پروژه های BI ویژوال استودیو 2005  را باز کرد . در ضمن کنترل جدید و کارآمدِ Report Designer در SQL Server 2008 , template های Report Server Project Wizard و  Report Server Project را هم دارد .

اگر با Report Designer در ویژوال استودیو 2003  آشنا باشید , سریعاً متوجه می شوید که در Report Designer ویژوال استودیوSP1 2008 , تبِ دیتا (Data tab) وجود ندارد . در واقع تبِ دیتا با یک پنجرۀ جدیدِ Report Data جایگزین شده است . (به شکل 1 نگاه کنید). این پنجره در واقع همتای جعبه ابزارِ Report Item  , Server Explorer  و پنجرۀ Data Sources است .

این پنجرۀ جدید همانطور که در شکل 1 می بینید , یکسری فیلدهای Built-in دارد که کار گنجاندنِ مقادیر تولیدِ سیستم را در یک گزارش آسان می کنند . از جمله این مقادیر می توان به  تعداد کل صفحات (Total Pages) و User ID اشاره کرد .

در ضمن حالا دیگر شما پارامترها را هم از طریق همین پنجرۀ Report Data مدیریت می کنید . برای این کار روی نودِ Parameters راست کلیک کنید و می بینید که میتوان یک پارامتر جدید (مثلا یک Query یا Report) ساخت . با این کار , یک dialog box باز می شود که از طریق آن می توانید نام پارامتر , Prompt , نوع داده ای , مقادیر قابل استفاده , و مقادیر از پیش تعیین شده را تنظیم کنید . همچنین این Dialog box این امکان را فراهم می کند که در صورت تغییر پارامترها , عمل refresh بطور خودکار انجام شود .

از همه مهمتر اینکه در پنجرۀ Report Data , سورسهای داده ای و مجموعه های داده ایی(data sets) که از آنها برای گرفتن گزارش یا دادۀparameter list  استفاده می شود هم تعبیه شده است . همچنین در این پنجره این امکان وجود دارد که یک فیلد query و یا یک فیلد calculated جدید افزوده شود و نیز می توان یک پرس وجوی SQL را مدیریت کرد و ضمناً می شود propertyهای یک dataset را تنظیم کرد . تمام موارد ذکر شده را می توانید در context منویی که در شکل 2 آمده ببینید . شاید شما هم موافق باشید که این پنجره همان پنجرۀ Data Set در designer قدیمی است , البته با کمی تغییرات . این context منو همان جائی است که می توانید فیلدها را انتخاب کرده و با کشیدن (drag) , آنها را به قسمتهای مختلف گزارش خود اضافه کنید .

با استفاده از دیالوگ باکس جدیدِ Dataset Properties می توانید datasetهای خود را تنظیم کنید . این دیالوگ باکس به شما اجازه می دهد تا یک query را تعریف و یا ویرایش کنید , یک پروسیجر ذخیره شده را مشخص کنید , برای یک پرس و جو timeout بگذارید , پارامترهای یک گزارش را مدیریت کنید , پرس و جو و فیلدهایcalculated  را مدیریت کنید (که شامل نام و فیلد سورس هم می شود) , گزینه هایی همچون collation را تنظیم کنید , و مشخص کنید که subtotalها چگونه مدیریت شوند . برای اینکه مشخص کنید که پردازشگرِ گزارش چگونه ردیف های مشخص شده را فیلتر کند هم می توانید از پنجرۀ Dataset Properties Filters استفاده کنید .

در اینجا مجالی برای بر شمردن تمام تغییرات و جزئیات پردازندۀ گزارش SSRS که گزارشهایی را که Report Designer به زبان RDL ایجاد کرده تفسیر میکند , وجود ندارد ولی همین بس که گفته شود چندین تغییر عمده صورت گرفته است . کنترلهایِ  Tablix که ویژگیها و عملکرد جداول قدیمی و نیز کنترل های Matrix را با هم ترکیب کرده(مترجم : نام آن نیز ترکیبی از نامهای Table  و Matrix است) از جمله باز بینی هایی است که در این نسخۀ جدید صورت گرفته . همچنین کنترلهای جدیدی مثل Gauge اضافه شده اند و حالا امکان رندِر کردن  Rich textها در TextBox ها و دیگر کنترلها وجود دارد . البته توجه داشته باشید که این تغییرات در Visual Studio 2008 SP1 بطور کامل راه اندازی نشده اند . این ویژگیهای جدید از طریق کنترل Report Viewer در دسترس نیستند ؛ در ادامه به این مساله پرداخته خواهد شد .

فایلهای RDL  و RDLC 

دیالوگ باکس هایی که در بالا توضیح داده شدند در واقع راهکارهای جدیدی برای انجام برخی کارها هستند که در نسخه های قبلی بوسیلۀ ابزارهای BI (هوش تجاری) ویژوال استودیو مثل  Report  Designer انجام می شدند . تمام تنظیماتی که در بالا گفته شد در RDL تحت یک XML وجود دارند و شما در صورت نیاز مثلا اگر Visual Studio قاطی کرد , می توانید با مراجعه به این فایلها تغییرات لازم را مستقیماً اعمال کنید که البته یک ریسک است و مسئولیت این ریسک به عهده خود شماست .  

پردازندۀ گزارشserver-side  جدید در SQL Server 2008 در واقع چیزی را تفسیر می کند که نویسندۀ مقاله آنرا نسل دوم فایلهای RDL می خواند . اما مسئله ای در اینجا وجود دارد : هنوز در پروژه های Visual Studio 2008 , نسل اول این فایلها یعنی RDLC تولید می شود ؛ حتی در نسخۀ SP1 آن . اما این بدان معنی است که شما می توانید گزارشهای نسل اول RDL را به Report Designer در Visual Studio 2008 SP1 وارد (import) کنید اما نمی توانید از آنها در کنترل جدید Visual Studio 2008 Microsoft Report Viewer  و یا در هیچ ورژن قدیمی تری استفاده نمائید . Microsoft Report Viewer واقعی در نسخۀ جدید Visual Studio که در 2010 بیرون داده می شود وجود خواهد داشت .

ویژوال استودیو 2008 SP1   و  SQL Server 2008

ویژوال استودیو 2008 قابلیتهای زیادی به جعبه ابزار شما می دهد . Visual Studio 2008 SP1 این امکان را به شما می دهد که دیتا بیس های SQL Server 2008 را از طریق Server Explorer مدیریت کنید . در ضمن توانائی ایجاد توابع و برنامه های اجرائی سمت سرویس دهنده در SQL Server 2008 را نیز خواهید داشت . با VS 2008 SP1 شما می توانید از Server Explore برای موارد زیر بهره ببرید :

  • با استفاده از نسخه 2008 ویژوال استادیو (سرویس پک 1) می توانید از سرور اکسپلورر استفاده کنید تا به SQL Server 2008 دسترسی پیدا کرده و Data Connection هایی برای استفاده از آن بانک های اطلاعاتی موجود آن ساخته و یا مبادرت به ایجاد بانک های اطلاعاتی جدید نمایید.
  • فایل های اجرائی SQL Server 2008 را به سلیقه خود تغییر دهید . برای این کار , پروژه های دیتا بیس Visual Basic , C# , و یا C++ را باز کنید و سپس قادر خواهید بود که پروسیجر های ذخیره شده را مدیریت کنید همانطور که در Visual Studio 2005 می توانستید . همچنین در خواهید یافت که SQL Server Management Studio (SSMS) امکان دیباگینگ قوی تری را در SQL Server 2008 فراهم کرده است .
  • می توانید در جداول خود از انواع داده ای جدیدِ SQL Server 2008 استفاده کنید . انواع داده ای زیر از آن جمله هستند  : GEOMETRY, GEOGRAPHY, HIERARCHYID  DATE, TIME, DATE-TIMEOFFSET,  و DATETIME2 . البته در این نسخه از SQL Server  طراحی جدید FILESTREAM با فیلدهایی از نوع Varbinary(max) سازگاری ندارد.
  • بصورت کاملا متفاوت و جدیدی از ADO.NET 3.5 Synchronization Service   و تکنولوژی VS Local Data Cache استفاده می کنید .
  • دیتا بیس های SQL Server Compact 3.5 بسازید. نویسندۀ مقاله این موتور پایگاه داده را "SQL Compact" نامیده تا با دیگر ورژنهای SQL اشتباه گرفته نشود .
  • به توسعه دهندگان نرم افزار اجازه می دهید تا با استفاده از ADO.Net 3.5 جداول خود را به عنوان یک پارامتر اختصاصی و یا یک پارامتر رویه (SP) بفرستند . این امکان چند مشکل قدیمی را برطرف کرده و چند روش جدید برای مدیریت داده به دست می دهد . به عنوان مثال , می توان چند ردیف از یک جدول را با یک دیتا بیس ادغام کرد بدون اینکه لازم باشد پرس و جوهای  SQL Data Manipulation Language بفرستید . همچنین می توانید جدولی را که مقادیر قابل قبولی دارد را مستقیماً در یک دستور ...WHERE … IN بگذارید . این مساله در Listing 1 دیده می شود .

Data Caching

Visual Studio 2008 SP1 با کلاسهای Local Data Cache ای که تولید می کند , روند ایجاد و مدیریت منابع داده ایی پایگاه های Replicated را بهبود می بخشد . تا به حال , مسئلۀ replication موضوع مورد بحثِ فقط DBAها بوده است ؛ اما حالا که هر منبع دادۀ VS ای را بصورت مجازی می توان با منبع داده ای آن سنکرون کرد , دیگر لازم نیست developer ها برای موارد زیر نگران باشند :

  • به روز رسانی های برمبنای SQL در مورد داده های محلی (Local Data) . تغییرات می توانند درValue property یک ردیف از داده ها ذخیره شوند و ردیف (ها) هم می توانند با دیتابیس سنکرون شوند .
  • سنکرون کردنِ جداول جستجو (lookup) با مقادیر داده ای پایگاه داده .
  • هماهنگ نگه داشتن  metadataهای رابط کاربری در نرم افزارهای ارائه شده به مشتری . مقادیر metadata می توانند با استفاده از دیتا بیس یکسان نگه داشته شوند .
  • کار کردن بصورت disconnected با منابع داده ای آنهم از ترس اینکه مبادا دادۀ محلی مشکلی از نظر امنیتی داشته باشد . دیتابیس SQL Compact را که بعنوان میزبان (host) برای دادۀ طرفِ مشتری (client-side) محسوب می شود , می توان با استفاده از یک ACL , رمز دار کرد یا از آن محافظت کرد .

در واقع تاثیر  SQL Server 2008 بر دیتا بیس طرفِ سرور (server-side) محسوس نیست . اگر شما سعی کنید در تنظیمات Data Source Configuration Wizard , caching را در دیتابیس محلی از کار بیاندازید و بخواهید اینکار را از طریق یک سیستم pre-SQL Server 2008 انجام بدهید یعنی در قسمت انتخابِ مودِ همگام سازی , گزینۀ Incremental را انتخاب کنید (همانطور که در شکل3 و 4 دیده می شود) , آنگاه باید تغییرات زیر را در جداول دیتابیس خود اعمال کنید :

  • باید ستونهایی با عناوین  LastEditDate و CreationDate را به جداول اضافه کنید .
  • یک جدولِ tombstone  با نامِ basetablename_Tombstone ایجاد کنید . اطمینان حاصل کنید که این جدول کلید اصلی و نیز ستون DeletionDate را حتما داشته باشد چون در اینگونه جداول لازم هستند .
  • یک تریگر به روز رسانی , یک تریگرِ insert , و یک تریگرِ حذف با نامهای : basetablename_Update-Trigger , basetablename_Insert-Trigger , basetablename_Deletion-Trigger , برای مدیریت این جدول بسازید .

می توانید یک script  هم بنویسید تا این تغییراتِ پایه ای را در پروژه شما تولید کند . جادوگر برنامه هم یک undo script می سازد تا بتوانید تغییرات انجام شده را به حالت قبلی برگردانده و undo کنید.

اگر SQL Server 2008 را نصب کرده اید , می توانید گزینۀ Use SQL Server change tracking را در جادوگر برنامه تیک بزنید (به شکل 4 نگاه کنید). این گزینه هم یک script می سازد که در Listing2 می توانید ببینید .

 

انتظار دارید در آینده چه امکانات جدیدی به Visual Studio افزوده شود ؟

از Visual Studio 2008 SP1 نمی توان به منظور مشاهده , ایجاد و یا سِت کردنِ مشخصه های log-in account و یا قراردادنِ حقوقی (right) برای اشیاء درون پایگاه داده استفاده کرد . در واقع باید برای انجام این اعمال از SSMS استفاده کنید . در ضمن Visual Studio نمی تواند جداولی بسازد که FILESTREAM داشته باشد . امیدواریم که در آینده این امکانات به Visual Studio افزوده شود .




منبع :

SQL Server Magazine   -   March 2009


Search Engine Submission - AddMe