مشکل اتصال localdb در سیستم ۳۲ بیت
با سلام دوستان من يك نرم افزار نوشتم كه با localdb كار مي كند نسخه sql هم 2014 مي باشدمشكل اينجاست كه در ويندوز 64 بيت روي كلاينت نصب مي كنم جواب مي دهد ولي در ويندوز 32 بيت مشكل اتصال به بانك اطلاعاتي مي دهد! حتي يك بانك هم با sql 32bitدرست كردم امتحان كردم ولي جواب نداد ران تایم های ۳۲ و ۶۴ localdb نصب کردم جواب نداد ممنون ميشم كسي راهنماييم كنه در اين رابطه
1 ضمیمه
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
دوستان کسی نیست به این سوال من جواب بده خواهش میکنم بدجور گیر کردم این کانکشن من هست :
SqlConnection conn = new SqlConnection(@"Data Source =(localdb)\MSSQLLocalDB;AttachDbFilename=" + Application.StartupPath + @"\DB\asnaf.mdf;Integrated Security = True");
تو سیستم 32 بیت نصب نمیشه و تو سیستم های 64 بیت هم نصب میشه ولی تو بعضی از 64 بیت ها نمیشه ! نمیدونم چرا این پیغام خطاش هست
ضمیمه 144953
بعضی وقتها هم پیغامی میده که توش نوشته Timout 0 و..
دوستان کمک کنید تو 64 بیت درست بود شانس من توسیستم مشتری فقط ایراد میگره و همین پیغام timeout میده
شنبه باید تحویل بدم
مرسی
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
سلام
اول باید یه instance از طریق command prompt ایجاد کنی
از طریق این لینک میتونی کد های کار با localdb رو ببینی
https://docs.microsoft.com/en-us/sql...ocaldb-utility
بعد از ایجاد instance باید اون رو run کنی
حالا میتونی از اون توی connectionString استفاده کنی
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
مرسی دوست عزیز آخه تو بعضی از سیستم ها بدون این کار می شد !
فقط یه سوال دیگه باید تو سیستم طرف این کارو بکنم و بعدش کانکشنو تغییر بدم ؟
بعد اینکه من sql2014 استفاده میکنم مشکلی نداره؟
میشه یک نمونه مثال بزنی خواهشاً
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
سلام
ببین دوتا راه داری
- میتونی کد های start کردن instance رو توی فولدر startup سیستم مشتری قرار بدی
- میتونی با بررسی موقعیت پایگاه داده در هنگاه اجرای برنامه (وجود instance ، متصل بودن db و...) ببینی باید چه کدی رو اجرا کنی که اتصال به پایگاه داده موفقیت امیز باشه
راستش میخوام کامل کامل توضیح ندم که ماهیگیری رو خودت یاد بگیری اما اگه واقعا میخوای ماهی رو بهت بدم، بگو:چشمک:
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
دوست عزیز مرسی
من منظورم این بود که بگو چطور instance تعریف کنم من تو اون سایت رفتم ولی وقتی کدشو میزنم تو cmd عمل نمیکنه
میخوام بدونم دقیقا چطور بنویسم
راستش من چند روز فقط وقت دارم وقت یادگرفتن ماهیگیری ندارم
من قبلا با sqlexpress کار میکردم مشکلی نبود خواستم اینسری از نصب sqlexpress راحت بشه مشتری، بخاطر همین از localdb استفاده کردم
1 ضمیمه
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
:ناراحت::ناراحت:
به خدا کار سختی نیست که ببین هر چی که نیاز داشتی رو برات فرستادم
ضمیمه 144968
این هم راهنمای اجرای کد های cmd در C#
http://stackoverflow.com/questions/1...mand-from-code
http://stackoverflow.com/questions/1...rompt-commands
چند روز؟
کلش یه ربع طول میکشید
اینم بگم که اینجوری نمیتونی برنامه نویس بشی...!
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
دوست عزیز در کل ممنونم
ولی اینا جواب من نبود کلاً منظور منو متوجه نشدی
در ضمن من برنامه نویس هستم 3 تا از برنامه هام تو بازار در حال اجرا هستش فقط دوست داشتم با localdb هم تست کنم
که با این اوصاف که کسی نیست درست راجبش توضیح بده ترجیح میدم با همون express کار کنم
من با localdb کار کردم که شاید مشتری راحت تر باشه ولی دیدم اینجور بازم همون گرفتاری هارو داره
بازم ممنون
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
بزار یکم با جزییات بیشتر توضیح بدم
اول از همه یه سناریو تعریف میکنم
مشتری ما از هیچ چیزی که مربوط به برنامه نویسیه سر در نمیاره پس همه چیز به گردن خودمونه حتی این مشتری عزضه اجرای یه خط کد توی cmd رو هم نداره
حالا میرسیم به سیستمش که احتمال قوی میدیم اصلا هیچ قسمتی از sql روی سیستمش نصب نیست
ما مستقیما به سیستم مشتری دسترسی نداریم و مشتری خودش برنامه رو نصب میکنه
خب حالا نوبت ماست طبق مطالبی که گفتم میفهمیم که اول باید مراحل نصب و اجرای برنامه خیلی کوتاه و اسون باشن
اولین کاری که مشتری باید بکنه نصب برنامه localdb هست
دومین کار نصب خود برنامه هست
بعد از این دو مرحله باید روی localdb یه instance ایجاد کنیم
که چند راه داره
- وقتی که پروژه رو اجرا کرد این instance ایجاد شده و start بشه
خب برای انجام اینکار باید کد زیر رو توی formLoad پروژه ات جرا کنی
System.Diagnostics.Process.Start("CMD.exe", "/C sqlLocaldb create <instanceName> -s");
2.میتونیم یه فایل bat توی فولدر startup سیستمش بسازیم که هر بار که سیستمش رو روشن کرد این instance هم راه بیوفته
برای اینکار توی notePat این متن زیر رو بنویسید و با فرمت bat ذخیره اش کنین
sqlLocaldb create <instanceName> -s
بعد از اینکه تونستید یه instance روی سیستم مشتری ایجاد کنید و start کنید وقت اینه که پایگاه داده تون رو انتقال بدید که اون هم چند راه داره
- BackUp&Restore
- Script
- Attatch
اگه توی اینا هم سوال دارید میتونید بپرسید و اینم بگم که چیزی که من خودم ترجیح میدم Script هست
اخرین مرحله مقدار دهی ConnectionString هست که میشه چیزی شبیه به متن زیر باشه
(localdb)\<instanceName>;AttachDbFilename=" + Application.StartupPath + @"\DB\asnaf.mdf;Integrated Security = True
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
مرسی دوست عزیز واقعا لطف کردی ممنونم ازت
فقط یه سوال برام مونده اونم اینکه منظور دقیقت از انتقال به پایگاه داده چیه ؟
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
نقل قول:
نوشته شده توسط
yanni2
فقط یه سوال برام مونده اونم اینکه منظور دقیقت از انتقال به پایگاه داده چیه ؟
وقتی که ما تازه برنامه sqlLocalDB رو روی سیستم کاربر نصب میکنیم خب معلومه که پایگاه داده مارو نداره پس باید یا از طریق کد پایگاه داده رو روی سیستم طرف ایجاد کنیم یا باید از طریق فایل بکاپ یا خود mdf ldf پایگاه داده پایگاه داده ای که برنامه ی ما با اون کار میکنه رو به سیستم مشتری انتقال بدیم
قبلا هم گفتم سه روش داره که من script رو ترجیح میدم
نقل قول: مشکل اتصال localdb در سیستم ۳۲ بیت
آهان من خود mdf ldf و تو یک پوشه قرار میدیم تو برنامه
دوست عزیز خیلی ممنون دستت دردنکنه