PDA

View Full Version : پشتیبانی SQL2005Express از CLR



hdv212
جمعه 25 خرداد 1386, 13:11 عصر
سلام و خسته نباشید
میخواستم ببینم sql express از clr پشتیبانی میکنه، و اگه میکنه چطوری باید ازش استفاده کنیم، یعنی sqlProcedure هامونو در اون call کنیم ؟ یه راهی که الان به ذهنم رسید اینه که StoredProcedures هامون رو در دات نت بسازیم، و در یه StoredProcedures دیگه اونو call کنیم و توی کد برنامه مون هم اون StoredProcedures دومی رو call کنیم، راه دیگه ای به نظرم نمیرسه چون هنوز این کار رو نکردم چون شک دارم که express از clr پشتیبانی میکنه یا نه، مرسی

AminSobati
شنبه 26 خرداد 1386, 13:51 عصر
بله CLR در Express Edition قابل اجرا هستش. شما باید در VS نوع پروژه SQL Server رو انتخاب کنین، بعد از نوشتن SP به زبان NET. اون رو به داخل دیتابیس Deploy میکنه و میتونین داخل SQL Server به روش عادی اون رو exec کنین

sh
شنبه 26 خرداد 1386, 17:56 عصر
سلام
با کسب اجازه ازآقای ثباتی نوع پروژه لازم نیست صرفا Sql Server باشه و شما با هر نوع پروژه ای که بانک اطلاعاتی اون Sql Express 2005 باشه میتونین از CLR استفاده کنین

hdv212
شنبه 26 خرداد 1386, 20:20 عصر
مرسی از جوابتون، راستی یه چیز دیگه، من تا اونجایی که روی clr مطالعه داشتم و دارم sqlFunction کار منو راه میندازه (اونم از نوع Table Valued)، نه sqlProcedure، حالا میخوام ببینم چطور میشه روی سیستم طرف deploy کرد، با همون دستور create assembly یا همون deploy کردن vs2005 کافیه ؟؟

AminSobati
شنبه 26 خرداد 1386, 21:30 عصر
نوع پروژه لازم نیست صرفا Sql Server باشه و شما با هر نوع پروژه ای که بانک اطلاعاتی اون Sql Express 2005 باشه میتونین از CLR استفاده کنین
شهریار جان من درست متوجه منظور شما نشدم

AminSobati
شنبه 26 خرداد 1386, 21:32 عصر
مرسی از جوابتون، راستی یه چیز دیگه، من تا اونجایی که روی clr مطالعه داشتم و دارم sqlFunction کار منو راه میندازه (اونم از نوع Table Valued)، نه sqlProcedure، حالا میخوام ببینم چطور میشه روی سیستم طرف deploy کرد، با همون دستور create assembly یا همون deploy کردن vs2005 کافیه ؟؟

حامد جان شما میتونین بعد از ساخته شدنه Assembly از اون Script بگیرید که بصورت باینری بهتون میده. حالا هر جا خواستین با همون دستور، Create انجام میدین

hdv212
یک شنبه 27 خرداد 1386, 12:38 عصر
اجازه بدید من سوالم رو به صورت کامل بیان کنم تا هدفم مشخص بشه، من با vs2005 یه پروژه ی دیتابیس ساختم و یه sqlFunction هم توش نوشتم و کامپایل کردم، وقتی که عمل کامپایل رو انجام میدم، sqlfunction به صورت اتوماتیک به لیست Function ها در دیتابیس sqlServer من اضافه میشه(همون دیتابیسی که در اول پروژه ی vs2005 بهش دادم)، میخواستم ببینم همین کافیه برای اینکه برنامه رو روی سیستم طرف اجرا کنم ؟ (بانکش هم sqlExpress هست) یا باید برای اینکه function ای که با clr نوشتم روی هر سیستمی کار کنه، عملیات اضافه ای انجام بدم ؟

AminSobati
یک شنبه 27 خرداد 1386, 14:09 عصر
اگر همون بانک رو به SQL Server دیگه منتقل کنین، بله تابع شما اجرا خواهد شد. اما اگر تابع رو به دیتابیس جدید قصد دارین منتقل کنین، یک Create Assembly و یک Create Function باید در مقصد داشته باشید