PDA

View Full Version : در مورد کانکشن



kh-emami
چهارشنبه 20 اسفند 1393, 12:57 عصر
سلا خدمت دوستان
یه سوال دارم در مورد کانکشن، این ConnectionStirng که در پایین مشاهده می کنید دیتابیس رو هم اتچ میکنه؟


string Connection = "Server=.\\SqlServer;Database=Taavoni; Integrated Security=SSPI";

//string Connection = "Server=.\\Taavoni;AttachDbFilename=C:\\Program Files (x86)\\Microsoft SQL Server\\MSSQL\\Data\\master.mdf;Database=Taavoni;I ntegrated Security=SSPI";


در این کانکشن بعد از . من نام instanse رو نوشتم بعدش جایی که فایل MDF قرار دارد رو نوشتم البته اول نام دیتابیس بود بعد گفتم شاید باید اول به master وصل بشم بعدش به خود دیتابیس.

من روی یک سیستم که برنام هلو داشت خواستم یه برنامه نصب کنم که با اس کیو ال کار میکنه دیدم برنامه هلو امده Sql Server Desktop Engine رو نصب کرده که من نمیدونم با چه کانکشن استرینگی میشه از طریق همین اس کیو ال به برنامه وصل شد.......؟؟؟؟؟

بعد اومدم خودم یه Sql Server Engin با instance و یک نام جدا نصب کردم و در برنامه Management Studio دیتابیس خودم رو اتچ کردم و کار میکنه.............ولی برنامه هلو از کار افتاد و مشکل ارتباط با دیتابیس رو داره چون در services های ویندوز کانکت نمیشه...........

کلا میخوام بدونم ما یه دیتابیس داریم میخواییم بریم جایی نصب بکنیم که حتما نباید اس کیو ال درست و حسابی نصب بکنیم یه Sql Express باید کارمون رو راه بندازه درسته؟ کانکشنش چیه همینه که بالا نوشتمه اگر همینه ولی موقع استفاده میگه اتچ نشده؟؟؟؟؟؟؟؟؟؟
حالا چند تا سوال دارم راه اتچ کردن دیتابیس بدون Management Studio چیه؟؟
راه اتچ کردن دیتابیس به Sql Server Desktop Engin چیه؟
از دوستان اگر کسی میدونه و امیدوارم فهمیده باشید مشکلم چیه تقاضای کمک دارم خیلی مهم هست برام
شرمنده دوستان هستم

kh-emami
چهارشنبه 20 اسفند 1393, 16:16 عصر
اقا من Express نصب کردم و حالا کانکشن استرینگ رو گذاشتم
string Connection = @"Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|Taavoni.mdf; Database=Taavoni; Integrated Security=True; Connect Timeout=30; User Instance=True; Asynchronous Processing=true";
و کنار برنامه فایل Mdf و LDF رو قرار دادم ولی خطای زیر رو داده چکار کنم
129359
ممنون میشم اگه راهنمایی کنید

kh-emami
چهارشنبه 20 اسفند 1393, 19:05 عصر
فقط یه سوال خواهش میکنم جواب بدید
میخوام یه دیتابیس رو اتچ کنم این ارور را میدهد خواهشا جواب بدید، پیشاپیش ممنون میشم
129366
آقای صبوحی شما لطفا جواب بدید ممنون میشم
با تشکر از دوستان

SabaSabouhi
پنج شنبه 21 اسفند 1393, 09:03 صبح
فقط یه سوال خواهش میکنم جواب بدید
میخوام یه دیتابیس رو اتچ کنم این ارور را میدهد خواهشا جواب بدید، پیشاپیش ممنون میشم

آقای صبوحی شما لطفا جواب بدید ممنون میشم
با تشکر از دوستان

سلام
حقیقتش اینه که از همون اول همه پست‌های شما رو خوندم. اما متوجه مشکل شما نشدم.
نمی‌دونم چرا این AttachedDbFilename اینقدر اینجا محبوبه، من که تا حالا ازش استفاده نکردم.
چیزهایی که شما گفتی، به نظر عجیبه. این که شما یه Instance دیگه درست کردی و هلو از کار افتاده
اصلاً شدنی نیست. حتماً کار دیگه‌ای کردی که هلو از کار افتاده. نصب یک Instance جداگانه به هیچ عنوان
نمی‌تونه در کار کردن برنامه‌های موجود اخلال ایجاد کنه.
این کارها رو انجام بده ببین تا کجا درست پیش میره و کجا به خطا می‌رسی.
1. اون دیتابیسی که ایجاد کردی رو حذف کن
2. دیتابیست رو خارج از برنامه، و به صورت دستی Attach کن
3. تو Management Studio بازش کن و برای تست از یه جدول SELECT بگیر
4. حالا توی برنامه بجای AttachDbFilename از InitialCatalog و نام دیتابیس استفاده کن

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

صبا صبوحی

kh-emami
پنج شنبه 21 اسفند 1393, 11:05 صبح
چشم اقای صبوحی من تو این مدت به شما خیلی زحمت دادم
مشکلم حل شد البته فکر میکنم حل شد رفتم همه instance ها رو پاک کردم بماند چه بد بختی کشیدم از اول یه اس کیو ال درست و حسابی نصب کردم و هم دیتابیس برنامه هلو رو بهش اتچ کردم هم دیتابیس خودمو
فقط سوالی که دارم اینه من بخوام یه برنامه رو روی یک سیستم کلاینت نصب کنم باید تو اون سیستم Sql Express نصب باشه تا اینجاش درسته؟ بعدش باید چه کانکشنی استفاده کنم اخه بعد از این ماجرا اومدم رو یک سیستم که هیچ برنامه خاصی نداشت یا نصب نبود یه Express نصب کردم با کانکشنی که بالا نوشتم نشد بهش وصل شی؟
البته نمی دونم مشکل از منه یا از شانسم هرچند به شانس اعتقاد ندارم ولی هرجا برم واسه دفعه اول یه مشکلاتی پیش میاد بیا و ببین:متعجب::متعجب:
آقای صبوحی من از کد تبدیل تاریخ های میلادی به شمسی و برعکس در برنامه ایی استفاده کردم خواستم ببینم اگر مبلغی یا کاری هست براتون انجام بدم یا شماره حساب بدید اخه میترسم یه وقت مشکلی پیش بیاد ....هر جند تو ایران این مسائل نیست ولی از خود ما باید شروع بشه دیگه.........شما وقت گذاشتید و کدی نوشتید باید حداقل یه اجازه میگرفتم شرمنده به خدا
بازهم ممنون از وقتی که در اختیار من گذاشتید

SabaSabouhi
جمعه 22 اسفند 1393, 15:54 عصر
چشم اقای صبوحی من تو این مدت به شما خیلی زحمت دادم
مشکلم حل شد البته فکر میکنم حل شد رفتم همه instance ها رو پاک کردم بماند چه بد بختی کشیدم از اول یه اس کیو ال درست و حسابی نصب کردم و هم دیتابیس برنامه هلو رو بهش اتچ کردم هم دیتابیس خودمو
فقط سوالی که دارم اینه من بخوام یه برنامه رو روی یک سیستم کلاینت نصب کنم باید تو اون سیستم Sql Express نصب باشه تا اینجاش درسته؟ بعدش باید چه کانکشنی استفاده کنم اخه بعد از این ماجرا اومدم رو یک سیستم که هیچ برنامه خاصی نداشت یا نصب نبود یه Express نصب کردم با کانکشنی که بالا نوشتم نشد بهش وصل شی؟
البته نمی دونم مشکل از منه یا از شانسم هرچند به شانس اعتقاد ندارم ولی هرجا برم واسه دفعه اول یه مشکلاتی پیش میاد بیا و ببین:متعجب::متعجب:
آقای صبوحی من از کد تبدیل تاریخ های میلادی به شمسی و برعکس در برنامه ایی استفاده کردم خواستم ببینم اگر مبلغی یا کاری هست براتون انجام بدم یا شماره حساب بدید اخه میترسم یه وقت مشکلی پیش بیاد ....هر جند تو ایران این مسائل نیست ولی از خود ما باید شروع بشه دیگه.........شما وقت گذاشتید و کدی نوشتید باید حداقل یه اجازه میگرفتم شرمنده به خدا
بازهم ممنون از وقتی که در اختیار من گذاشتید

سلام دوست عزیز
1. نیازی نیست Express Edtion نصب باشه. اصولاً نیازی نیست که حتماً روی همون دستگاه Sql Server داشته باشی. Sql Server می‌تونی هر کدوم از نسخه‌های متفاوت موجود
باشه ( غیر از Compact Edition ) و این که نسخه‌ای که هست، حداقل‌های شما رو جواب بده. ( مثلاً نسخه‌ی 2005 نوع داده‌ی Date رو نداره )
2. Connection String اصلاً چیز پیچیده‌ای نیست، اینقدر سختش نکن. سرور شما چه روی همون دستگاه و چه روی شبکه یه اسم داره یا آدرس به علاوه‌ی InstanceName اگر Default Instance نباشه، اینا رو دست بدی، کار تمومه
3. تو این شغل شانس تقریباً جای‌گاهی نداره. هر کاری رو درست انجام بدی، درست انجام می‌شه.
4. این تابع به صورت OpenSource هست، یعنی از انتشارش انتظار مالی ندارم. اگه نام من رو از توش حذف نکنی، لطف کردی ( اگه حذف هم کردی مشکلی نیست )

کار زیادی انجام ندادم. یه روز من به شما کمک می‌کنم، یه روزی هم می‌رسه که به کمک شما نیازمند می‌شم. دنیا اونقدر که به نظر میرسه بزرگ نیست. یه روزی همه به هم نیاز پیدا می‌کنیم.

صبا صبوحی

kh-emami
شنبه 23 اسفند 1393, 22:48 عصر
ممنون از اینکه حداقل شما جواب میدین
من اینقدر تو این چند وقته با این کانکشن سرو کله زدم دیکه همه قسمتاشو از حفظ شدم، مثلا تو محیط شبکه هم میتونی ای پی بدی و یه شماره پورت و......
فقط یه سوال ذهنمو در گیر کرده وقتی Integrated Security=SSPI یا Integrated Security=TRUE باید بدون داشتن User Id و Password به دیتابیس وصل بشه دیگه درسته؟؟؟
اخه من کانشکن زیر رو نوشتم داره به ای دی گیر میده
@"Server=.\SQLEXPRESS; Initial Catalog=" + Application.StartupPath + "\\Taavoni.mdf; Database=Taavoni; Integrated Security=SSPI;Trusted_Connection = True
بازهم ممنون از پاسخگویی

SabaSabouhi
یک شنبه 24 اسفند 1393, 08:16 صبح
ممنون از اینکه حداقل شما جواب میدین
من اینقدر تو این چند وقته با این کانکشن سرو کله زدم دیکه همه قسمتاشو از حفظ شدم، مثلا تو محیط شبکه هم میتونی ای پی بدی و یه شماره پورت و......
فقط یه سوال ذهنمو در گیر کرده وقتی Integrated Security=SSPI یا Integrated Security=TRUE باید بدون داشتن User Id و Password به دیتابیس وصل بشه دیگه درسته؟؟؟
اخه من کانشکن زیر رو نوشتم داره به ای دی گیر میده
@"Server=.\SQLEXPRESS; Initial Catalog=" + Application.StartupPath + "\\Taavoni.mdf; Database=Taavoni; Integrated Security=SSPI;Trusted_Connection = True
بازهم ممنون از پاسخگویی

سلام
Integrated Security
وقتی False باشه نیاز به User, Pass داره
وقتی True باشه کاری به User, Pass نداره و از لاگین ویندوز استفاده می‌کنه.
وقتی SSPI باشه، اگه User, Pass نداشتی از لاگین ویندوز استفاده می‌کنه و اگه داشتی، از اون‌ها.

1. در هیچ شرایطی بدون User, Pass به Sql نمی‌تونی وصل بشی. این شناسه و گذرواژه می‌تونه همونی باشه که با اون‌ها به ویندوز وصل می‌شی ( Windows Security )
و می‌تونه یه چیز جداگانه باشه ( Mixed Mode )
2. وقتی از Initial Catalog استفاده می‌کنی دیگه مسیر فایل mdf رو نده، فقط نام دیتابیس رو بده

صبا صبوحی