PDA

View Full Version : ساخت Connection String در دات نت



Developer Programmer
شنبه 16 آذر 1387, 21:18 عصر
قبل از یادگیری دات نت، جهت کار با پایگاه داده در دلفی، یه AdoConnection مینداختم رو فرم و مراحل ویزاردش رو دنبال میکردم، یه AdoQuery و DataSource رو بهش وصل میکردم و به همین راحتی می شد با DB کار کرد

اما وقتی راهنماهای بچه ها رو میخونم میبینم هشتصد تا متغیر تعریف کردن و یه Provider به چه درازی رو حفط و عینا" تایپ میکنن. آیا محیط دات نت قابلیت مذکور رو نداره ؟ و اگر داره کجاست و چرا استفاده نمیکنن؟

jeyjix
شنبه 16 آذر 1387, 21:47 عصر
دوست خوب Connection String اسمش روشه دیگه
اگه بخوای ازش استفاده کنی اول باید
Using System.data.sqlclient رو اول فرمت در قسمت بالا اضافه کنی (مطمئنن می دونی چرا)
بعد داخل برنامه باید یه اتصال Connection تعریف کنی :

SqlConnection sqlcon=new sqlconnection ('prvidor ... pas=...user ...and')
داخل پرانتز string connection رو می نویسی که شامل نام سرور - سطح دسترسی - یوزر - پسورد و... میشه (از هلپ Sql کمک بگیر )
حالا وقتشه که نیازت رو به وسیله ی یک query به کانکشنت بفرستی و نتیجه ش رو ببینی
اول :

sqlcommand sqlcomm = new sqlcommand('select* from mydb',sqlcon)
خط بالا میگه که این کوئری داخل پرانتز مربوط به این کانکشن بعد از کاما هست
دوم :

sqlcomm.ExecuteNonQuery();
اینم یعنی دستورم رو اجرا کن !!!
البته اگه از قید یه کارایی هایی بگذری ! و یه اشکالات رو که وقتی بخوای حرفه ای تر کار کنی قبول کنی میتونی از ویزارد خود استدیو برای برقراری اتصال با پایگاهت استفاده کنی
واسه اونم می ری یه عنصر bindingsource از toolbox DATA به فرمت اضافه می کنی .در properties اون data source v رو میزنی و add project data source رو میزنی بعد database و بعد new Connection و بعد که دیگه جای همیشگی !!! drivert رو انتخاب کن و حالشو ببر !!1

Developer Programmer
شنبه 16 آذر 1387, 21:51 عصر
کدوم اشکالات ؟ چرا بعضی ها SQLOLEDB و بعضی ها SQLClient رو Add میکنن ؟ ConnectionString به اون درازی رو چطور باید حفط کنم؟

jeyjix
شنبه 16 آذر 1387, 22:04 عصر
البته اگه از قید یه کارایی هایی بگذری ! و یه اشکالات رو که وقتی بخوای حرفه ای تر کار کنی قبول کنی میتونی از ویزارد خود استدیو برای برقراری اتصال با پایگاهت استفاده کنی
واسه اونم می ری یه عنصر bindingsource از toolbox DATA به فرمت اضافه می کنی .در properties اون data source رو میزنی و add project data source رو میزنی بعد database و بعد new Connection و بعد که دیگه جای همیشگی !!! drivert رو انتخاب کن و حالشو ببر !!1[/QUOTE]

فکر کن مثلا بخوای نام پایگاه رو از کاربر دریافت کنی .اگه در برنامه به صورت wizard اونو تعریف کنی مشکل میتونی اونو تغییر بدی در صورتی که اینجا خیلی آسون می تونی این کار رو بکنی . هزاران مزیت دیگه که یکم پیچیده تر میشه تو این روش !

اما Connection String رو توی msdn بزن تا حال کنی :

"Password=instance password
;Persist Security Info=True;از user و pass استفاده می کنی واسه کانکت ؟
نام کاربر User ID=user;
Data Source=servername نام سرور

اینا پر کاربرد ترهاش .. یه جستجو بکنی چیزای دیگه ای هم هست
فدای تو

jeyjix
شنبه 16 آذر 1387, 22:09 عصر
d یه راه واسه تنبل هایی مث من اینه :
یه فایل با پسوند UDL ایجاد کن و اجراش کن !!!
اول نوع درایور و بعد نام پایگاه و تنظیماتش رو انجام بده .بعد ذخیره ش کن و خارج شو !
حالا رو این فایل کلید سمت راست کن و Edit کن
چیزی که میبینی Connection String هست .
enjoy!!

dark-man
یک شنبه 17 آذر 1387, 09:34 صبح
کدوم اشکالات ؟ چرا بعضی ها SQLOLEDB و بعضی ها SQLClient رو Add میکنن ؟ ConnectionString به اون درازی رو چطور باید حفط کنم؟


oledb برای اینه که شما بتونی از دیتابیس هائی که با access ساخته میشه استفاده کنی و
sqlclient برای اینه که شما بتونی از دیتابیس هائی که با sqlserver ساخته میشه استفاده کنی . در مورد اشکالات هم گزینه ای در سی شارپ هست به نام sqlexception که خطاهای کار با دیتابیس رو برات نشون میده . در مورد connection string نیازی نیست شما اونو حفظ کنی به راحتی می تونی بسازی برای ساختن رشته اتصال در ویژوال به تب server explorer برو روی گزینه data connection راست کلیک کن بعد گزینه add connection رو بزن در پنجره ای که باز شده (اگه از دیتابیس سرور محلی روی کامپیوتر خودت استفاده می کنی) کافیه یه نقطه بذازی یا می تونی بنویسی local این جوری مابقی گزینه های اون پنجره هم فعال میشه . بعد از قسمت select or enter database name می تونی نام دیتابیس های موجود در سرور رو ببینی . اگر برای دیتابیسی که انتخاب می کنی username , password گذاشتی یا کلا" برای سرور گذاشتی به جای شناسائی ویندوز از حالت شناسائی sql استفاده کن و اطلاعاتی که می خواد رو وارد کن . این مراحل رو که طی کردی برای اطمینان از صحت کار گزینه test connection رو که در پائین همون پنجره قرار داره رو بزن تا در صورت درستی یا خطا در برقراری ارتباط بهت پیغام بده .

بعد از انجام اینا حالا اسم سرور و دیتابیس به data connection اضافه شده مثلا" varooneh.parking.dbo تو این متن varooneh اسم کامپیوتر منه parking اسم دیتابیس و dbo هم userی هست که من برای اتصال ازش استفاده می کنم. اگه روی همین connection که ایجاد کردی راست کلیک کنی و properties رو بزنی توی پنجره property مربوط به این connection یه گزینه هست به نام connection string که می تونی از متن داخل اون به عنوان connection string استفاده کنی . همش همین بود . به همین سادگی !:لبخند::ناراحت:

Elham_gh
یک شنبه 17 آذر 1387, 10:42 صبح
این هم جایی برای پیدا کردن تمام Connection string ها!:

http://www.connectionstrings.com/

s_ahmadneya
یک شنبه 17 آذر 1387, 10:50 صبح
من برای این کار یه کلاس بانک درست کردم که نام بانک و نام دیتا بیس نام کاربر و پسورد را بصورت پروپرتی دریافت و ارتباطها را انجام می دهد .البته این کار را باید با سلیقه برنامه نویسی فرد نوسته بشه انوقت کار را خیلی ساده می کنه