PDA

View Full Version : حرفه ای: خطای پیدا نکردن دیتابیس - علت خطای A network-related or instance-specific error occurred



mohammad5530
سه شنبه 25 شهریور 1393, 17:24 عصر
سلام

من برنامه ای دارم که دیتابیسش SQL و از نوع mdf هست . توی کامپیوتر بنده دیتابیس مشکلی نداره و به خوبی کار میکنه .

ولی وقتی برنامه رو بر روی کامپیوتر دیگری اجرا میکنیم ، دیتابیس رو شناسایی نمیکنه و ارور زیر رو نشون میده :

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26- Error:Locating Server\instance Specified)

لطفا راهنمایی کنید . مرسی

mohsen12345
سه شنبه 25 شهریور 1393, 18:46 عصر
شما موقع نصب توی سیستم خودتون احتمالا یه Instance name دیگه تعریف کردید و موقع نصب روی سیستم دیگه از یه Instance name دیگه ای استفاده می کنید، اینو چک کنید

mohammad5530
سه شنبه 25 شهریور 1393, 21:26 عصر
شما موقع نصب توی سیستم خودتون احتمالا یه Instance name دیگه تعریف کردید و موقع نصب روی سیستم دیگه از یه Instance name دیگه ای استفاده می کنید، اینو چک کنید

اگر ممکن هست بیشتر توضیح بدید . Instance Name چی هست ؟

mohammad5530
سه شنبه 25 شهریور 1393, 21:30 عصر
از اونجایی که من متوجه شدم ، مشکل از بخش Service ها هست . چون توی سیستم مورد نظر سرویس Sql Service وجود ندارد چنین مشکلی پیش می آید . ولی من نمیدونم این سرویس رو چطور در سیستم مقصد نصب کنم

لطفا راهنمایی کنید

mohammad reza beizavi
سه شنبه 25 شهریور 1393, 21:52 عصر
درود بر شما
هر engine بانک اطلاعاتی یک نام منحصر به فرد داره. یا به زبان ساده تر میشه گفت هر بار که sqlserver رو نصب می کنید یک اسم منحصر به فرد داره. به هر کدام از این نسخه های نصب شده Instance میگن.
اگر نسخه ای که نصب می کنید با نام پیشفرض خودش نصب بشه نام Instance که در Connection string با عبارت Data Source وجود داره رو می تونید نقطه بذارید (.=Data Source)
اگر این نسخه ای که نصب کردید نسخه express باشه باید مقدار Data Source رو بذارید SQLExpress\.
و در نهایت موقع نصب خودتون اسمی برای Instnace گذاشته باشید بعد از نقطه و بک اسلش اون اسم رو بذارید.

mohammad reza beizavi
سه شنبه 25 شهریور 1393, 21:57 عصر
از اونجایی که من متوجه شدم ، مشکل از بخش Service ها هست . چون توی سیستم مورد نظر سرویس Sql Service وجود ندارد چنین مشکلی پیش می آید . ولی من نمیدونم این سرویس رو چطور در سیستم مقصد نصب کنم

لطفا راهنمایی کنید
خب دوست گرامی شما باید روی اون سیستم SQL server رو نصب کنید. وگرنه برنامتون با چی ارتباط برقرار کنه؟!!!!
البته بهترین راه حل استفاده از LocalDB هست که دیگه نیاز به نصب نداره اما برای استفاده از این نوع دیتابیس باید دات نت 4.5 رو داشته باشید و ویندوز از ویستا به بالا

mohammad5530
سه شنبه 25 شهریور 1393, 22:10 عصر
پسوند دیتابیس من mdf هست . فکر میکنم از نوع LocalDB هست .

چه نسخه ای از SQL Server رو نصب کنم روی سیستم مقصد ؟

mohammad reza beizavi
سه شنبه 25 شهریور 1393, 22:19 عصر
پسوند دیتابیس من mdf هست . فکر میکنم از نوع LocalDB هست .

چه نسخه ای از SQL Server رو نصب کنم روی سیستم مقصد ؟
فکر می کنم که نمیشه
Connection string برنامه رو میشه بذارید؟
روی سیستم مشتری چه ویندوز و چه نسخه ای از دانت نت نصبه؟؟؟

mohammad5530
چهارشنبه 26 شهریور 1393, 00:39 صبح
ویندوز 7 نصب هست

روی سیستم مشتری sql server نصب نیست

حتما باید نصب بکنم؟

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 00:45 صبح
اگر از LocalDB استفاده می کنید نه لازم نیست sql نصب کنید. فقط Connection string شما رو نمیدونم چیه و آیا درسته یا خیر؟
یه نمونه از این Connection string اینه:


Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\Test.mdf;Integrated Security=True

mohammad5530
چهارشنبه 26 شهریور 1393, 02:17 صبح
دیتابیس من mdf هست و از نوع LocalDB نیست

این کانکشن استرینگ من هست :

connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Test.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

mohsen12345
چهارشنبه 26 شهریور 1393, 08:33 صبح
دیتابیس من mdf هست و از نوع LocalDB نیست

این کانکشن استرینگ من هست :

connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Test.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

دوست عزیز شما باید نسخه sqlexpress رو در این حالت روی سیستم مشتری نصب کنید .
اگه از installer خود visual studio استفاده می کنید فقط کافیه برای موقع نصب sqlexpress رو هم به برنامه هاش اضافه کنید.

mohammad5530
چهارشنبه 26 شهریور 1393, 12:33 عصر
دوست عزیز شما باید نسخه sqlexpress رو در این حالت روی سیستم مشتری نصب کنید .
اگه از installer خود visual studio استفاده می کنید فقط کافیه برای موقع نصب sqlexpress رو هم به برنامه هاش اضافه کنید.


آقا من Sql Server Express 2008 رو هم نصب کردم ولی بازم همون ارور رو میده ؟

سورس برنامه رو به شما بدم شما یه نگاهی بهش بندازی؟

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 14:09 عصر
آقا من Sql Server Express 2008 رو هم نصب کردم ولی بازم همون ارور رو میده ؟

سورس برنامه رو به شما بدم شما یه نگاهی بهش بندازی؟
درود دوباره
تنها نصب کردن SQL با هر نسخه و امکاناتی کافی نیست. دوست منن شما باید دیتابیسی که دارید رو به این نسخه اکسپرس که نصب شده Attach کنید.
در این مورد سورس برنامه نمیتونه کمکی به رفع مشکل کنه. بهتره برید سراغ Attach کردن دیتابیستون.
توصیه: بهتره از LocalDB استفاده کنید.
پیشنهاد: برای Attach کردن دیتابیستون به sql نصب شده برید سراغ این لینک:
http://barnamenevis.org/showthread.php?468951-%D8%A8%D8%B1%D9%88%D8%B2-%D8%AE%D8%B7%D8%A7-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%82%D8%B1%D8%A7%D8%B1%DB%8C-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%A8%D8%A7-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3

mohammad5530
چهارشنبه 26 شهریور 1393, 16:14 عصر
من یک سوال دارم از شما دوستان عزیز

الان برنامه هایی که خود شما مینویسید رو چطور به سیستم مشتری انتقال میدید ؟

دیتابیستون چیه ؟

یک نفر به صورت کامل برای بنده توضیح بده که الان باید چکار کنم که دیتابیسم کار کنه

aliramazani
چهارشنبه 26 شهریور 1393, 16:30 عصر
ورژن ویژوال استادیو خودت
اس کیو ال سرور خودت
داتن فریم ورک خودت را بگو

mohammad5530
چهارشنبه 26 شهریور 1393, 16:43 عصر
ورژن ویژوال استادیو خودت
اس کیو ال سرور خودت
داتن فریم ورک خودت را بگو

ویژوال 2010
اس کیو ال اکسپرس (نمیدونم چه ورژنی هست) که با خود ویژوال نصب شد
دات نت فریم ورک 4.5 کلاینت پروفایل

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 17:51 عصر
من یک سوال دارم از شما دوستان عزیز

الان برنامه هایی که خود شما مینویسید رو چطور به سیستم مشتری انتقال میدید ؟

دیتابیستون چیه ؟

یک نفر به صورت کامل برای بنده توضیح بده که الان باید چکار کنم که دیتابیسم کار کنه
اگر می خواید با همین ساختار کار کنید برید به اون لینکی که گذاشتم و ببینید چطور mdf مربوط به sqlexpress رو attach کنید.
اما من برای برنامه های کوچک و متوسط (وب و ویندوز) از localDB استفاده می کنم. فایل دیتابیس کنار پروژه هست . ت.ی Connectio string هم از |LocalDirectory| و بعد هم بک اسلش و بعدشم اسم فایل دیتابیستون رو بذارید.
اینجور دیگه نیازی به نصب sql و attach کردن و ... رو ندارید. فقط ویندوز ویستا به بالا و دات نت 4.0.2 به بالا

mohammad5530
چهارشنبه 26 شهریور 1393, 19:08 عصر
اگر می خواید با همین ساختار کار کنید برید به اون لینکی که گذاشتم و ببینید چطور mdf مربوط به sqlexpress رو attach کنید.
اما من برای برنامه های کوچک و متوسط (وب و ویندوز) از localDB استفاده می کنم. فایل دیتابیس کنار پروژه هست . ت.ی Connectio string هم از |LocalDirectory| و بعد هم بک اسلش و بعدشم اسم فایل دیتابیستون رو بذارید.
اینجور دیگه نیازی به نصب sql و attach کردن و ... رو ندارید. فقط ویندوز ویستا به بالا و دات نت 4.0.2 به بالا

الان من این پروژه رو چکار کنم ؟

من برنامه ی جدیدی میخام بنویسم که مدیریت انبار هست . به نظر شما چطور کارم رو شروع کنم که پروژم رو بتونم روی سیستم مشتری انتقال بدم .

مرسی

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 19:33 عصر
الان من این پروژه رو چکار کنم ؟

من برنامه ی جدیدی میخام بنویسم که مدیریت انبار هست . به نظر شما چطور کارم رو شروع کنم که پروژم رو بتونم روی سیستم مشتری انتقال بدم .

مرسی
ببینید، بحث انتقال در میون نیستا، شما هر دیتابیسی رو با هر حجم و داده و نوعی به هر حال می تونید با کد و اسکریپت و مقداری دست کاری میشه به مقصد انتقال داد.
بحث سر اینه که کدومشون راحت و بی دردسرتر از بقیه هست.
شما از LocalDB استفاده کنید. اینجور کارتون خیلی راحته. شاید به ندرت به فکر انتقال دیتابیس و این مشکلاتی که الان بهش بر می خورید بیفتید.

mohammad5530
چهارشنبه 26 شهریور 1393, 19:40 عصر
این LocalDB که شما میگید رو میشه روی ویندوز 7 نصب کرد ؟

من نمیخام دیتابیس رو انتقال بدم . من میخام یک برنامه جدید رو شروع کنم ولی نمیدونم از چه دیتابیسی و چه روشی استفاده کنم که مشکل خاصی پیش نیاد و دیتابیس راحت کار کنه

mohammad5530
چهارشنبه 26 شهریور 1393, 19:45 عصر
اگر امکانش هست ، یک نمونه از برنامه ای که دیتابیسش درست کار میکنه و نیاز به اتچ و چیزی نداره قرار بدید که من از روی سورس متوجه بشم چه کار هایی میشه انجام داد . ولی از LocalDB استفاده نکیند . چون برنامه هایی که من مینویسم ممکن هست روی ویندوز XP اجرا بشه

ممنون

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 20:06 عصر
این LocalDB که شما میگید رو میشه روی ویندوز 7 نصب کرد ؟

من نمیخام دیتابیس رو انتقال بدم . من میخام یک برنامه جدید رو شروع کنم ولی نمیدونم از چه دیتابیسی و چه روشی استفاده کنم که مشکل خاصی پیش نیاد و دیتابیس راحت کار کنه
ماشالا، چه اصراری دارید حتما یه چیزی نصب کنید!!!:متعجب:
شما یه پروژه ساده بسازید، بعد داخل solution explorer روی پروژه راسات کلیک کنید و add new item رو بزنید و از پنل سمت راست data و بعد گزینه service-based database رو انتخاب کنید و از گزینه پایین (Name) رو درج کنید تا بانک اطلاعاتی ساخته بشه.
حالا برای کار با بانک اطلاعاتی دوبار روی همین فایل توی solution explorer کلیک کنید تا بانک اطلاعاتی و ساختارش توی پنجره ی server explorer باز بشه و هر کاری دوست دارید انجام بدید.
دیگه مشکلی هست؟؟؟
راستی حالا که دوست دارید چیزی رو نصب کنید اگه روی کلاینت از نصب دات نت مطمون نیستید توی setup ساختن حتما به prerequisit ها اضافش کنید.

mohammad5530
چهارشنبه 26 شهریور 1393, 20:27 عصر
ماشالا، چه اصراری دارید حتما یه چیزی نصب کنید!!!:متعجب:
شما یه پروژه ساده بسازید، بعد داخل solution explorer روی پروژه راسات کلیک کنید و add new item رو بزنید و از پنل سمت راست data و بعد گزینه service-based database رو انتخاب کنید و از گزینه پایین (Name) رو درج کنید تا بانک اطلاعاتی ساخته بشه.
حالا برای کار با بانک اطلاعاتی دوبار روی همین فایل توی solution explorer کلیک کنید تا بانک اطلاعاتی و ساختارش توی پنجره ی server explorer باز بشه و هر کاری دوست دارید انجام بدید.
دیگه مشکلی هست؟؟؟
راستی حالا که دوست دارید چیزی رو نصب کنید اگه روی کلاینت از نصب دات نت مطمون نیستید توی setup ساختن حتما به prerequisit ها اضافش کنید.

دوست عزیز فکر کنم شما متوجه ی منظور من نشدید

این چیزی که شما گفتید آموزش ساختن دیتابیس هست . من با ساختن دیتابیس مشکل ندارم .

بفرض من برنامم رو با service based نوشتم . حالا میخام برنامه رو روی سیستم دیگه اجرا کنم . باید چکاری انجام بدم؟

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 20:33 عصر
دقیقا درست متوجه شدم، بعد از اینکار کافیه برنامتون رو ببرید روی کلاینت. فقط و فقط همین.
Connection string رو طبق #18 تغییر بدید البته

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 20:39 عصر
فکر کنم به LocalDB شک دارید. اینم نمونه
نمیخواد هیچی نصب کنی کافیه فقط پروژه رو باز کنی و اجرا کنی. خوبه دیگه؟؟؟:چشمک:

mohammad5530
چهارشنبه 26 شهریور 1393, 20:48 عصر
فکر کنم به LocalDB شک دارید. اینم نمونه
نمیخواد هیچی نصب کنی کافیه فقط پروژه رو باز کنی و اجرا کنی. خوبه دیگه؟؟؟:چشمک:

برنامه رو اجرا کردم و همون ارور بالا رو داد و تنها تفاوتش این بود که ارور بنده ارور 26 بود ولی ارور برنامه شما ارور 52 بود

mreram
چهارشنبه 26 شهریور 1393, 20:57 عصر
connectionString تون رو از appConfig تغییر بدید مثلا اگر این باشه :

Data Source=.;data base=C:\\users.mdf;Integrated Security=True
به این تغییرش بدید:

Data Source=.;data base=|dataDirectory|\users.mdf;Integrated Security=True
|dataDirectory| دقیقا به پوشه ی دیباگ تو پروژتون اشاره میکنه و باید دیتابیستون رو اونجا کپی کنید ..
و وفتی ستاپ میسازید دیتابیس رو در پوشه ی application folder اضافه کنید و حتما نسخه ی sql server express که استفاده کردید رو روی سیستم دیگه نصب کنید

mohammad5530
چهارشنبه 26 شهریور 1393, 21:08 عصر
connectionString تون رو از appConfig تغییر بدید مثلا اگر این باشه :

Data Source=.;data base=C:\\users.mdf;Integrated Security=True
به این تغییرش بدید:

Data Source=.;data base=|dataDirectory|\users.mdf;Integrated Security=True
|dataDirectory| دقیقا به پوشه ی دیباگ تو پروژتون اشاره میکنه و باید دیتابیستون رو اونجا کپی کنید ..
و وفتی ستاپ میسازید دیتابیس رو در پوشه ی application folder اضافه کنید و حتما نسخه ی sql server express که استفاده کردید رو روی سیستم دیگه نصب کنید

تمام چیز هارو چک کردم . شما خودت تونستی برنامه رو اجرا کنی ؟ (سورسی که در بالا گذاشته شده)

mreram
چهارشنبه 26 شهریور 1393, 21:18 عصر
شما این فیلم رو نگاه کن خیلی بهت کمک میکنه:
http://dl.daneshjooyar.com/film/csharp/FullLearning/csharpPart20(daneshjooyar.com).rar

mreram
چهارشنبه 26 شهریور 1393, 21:24 عصر
فکر کنم به LocalDB شک دارید. اینم نمونه
نمیخواد هیچی نصب کنی کافیه فقط پروژه رو باز کنی و اجرا کنی. خوبه دیگه؟؟؟:چشمک:
دوست عزیز چرا اطلاعات اشتباه میدی روی سیستمی که sql server express نصب نباشه به هیچ عنوان پروژه اجرا نمیشه...
visual studio به صورت پيش فرض MSSQL 2008 Exspress رو نصب مي كنه ، كه شما هم بايد همين نسخه رو بر روي سيستم مشتري نصب كنيد ، در نسخه هاي قديمي تر مثل MSSQL 2000 رو سيستم مشتري MSDE 2000 رو نصب مي كردي كافي بود و پروژه اجرا مي شد .

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 21:26 عصر
بهتره error بزارید ببینم. اما مگه شما VS رو ندارید. با اون خودش sqlexpress رو نصب می کنه.
در ضمن اگر توی solution شما فایل mdf باشه هنگام publish خودش sqlexpress رو به prerequisit های نرم افزارتون اضافه میکنه.

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 21:46 عصر
اینجا بحث مچ گیری و ضایع کردن نیست ... من اگه نمیدونستم چجوری پروژتون رو باز کنم نمیتونستم اجراش کنم (البته میتونستم فایل دیباگ رو اجرا کنم) شما هر پروژه ای که ببینی فایل sln داره...
هر پروژه ای که نه، نمونش همین که شما بلدید باز کنید.:متفکر:
در ضمن باید بدونید که برای استفاده از LocalDB نیازی به نصب SQLExpress نیست. بهتره برای اطلاعات درست و دقیق به منبع درست و دقیق و البته خود سایت سازنده این نرم افزارها مراجعه کنید.
در اصل localDB تنها به نسخه کوچک شده ای از sqlexpress نیاز داره که هنگام publish کردن برنامه ها هم میتونید به پروژه استفاده کنید. اونی هم که می فرمایید باید (البته باید نداره) sqlexpress نصب کنید برای اینه که هنگام نصب sqlexpress این localdb هم نصب میشه:
این لینک های مرجع و البته مطمئن:
http://www.sqlcoffee.com/SQLServer2012_0004.htm
http://www.microsoft.com/betaexperience/pd/SQLEXPCTAV2/enus/default.aspx
http://msdn.microsoft.com/en-us/library/hh510202.aspx

mohammad5530
چهارشنبه 26 شهریور 1393, 22:06 عصر
اینجا بحث مچ گیری و ضایع کردن نیست ... من اگه نمیدونستم چجوری پروژتون رو باز کنم نمیتونستم اجراش کنم (البته میتونستم فایل دیباگ رو اجرا کنم) شما هر پروژه ای که ببینی فایل sln داره...
درضمن قبل ایجاد تاپیک بهتره جستجو در سایت انجام بدید 10تا تاپیک با همین عنوان ایجاد شده:
http://barnamenevis.org/showthread.php?466759-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%B4%D9%86%D8%A7%D8%B3%D8%A7%DB%8C%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%AF%D8%B1-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D9%85%D8%B4%D8%AA%D8%B1%DB%8C&highlight=%D9%85%D8%B4%DA%A9%D9%84+%D8%A7%D8%AC%D8 %B1%D8%A7+%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87+%D8 %B1%D9%88%DB%8C+%D8%B3%DB%8C%D8%B3%D8%AA%D9%85

http://barnamenevis.org/showthread.php?469437-%D8%AE%D8%B7%D8%A7-%D9%87%D9%86%DA%AF%D9%85-%D8%AA%D8%AD%D9%88%DB%8C%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&highlight=%D9%85%D8%B4%DA%A9%D9%84+%D8%A7%D8%AC%D8 %B1%D8%A7+%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87+%D8 %B1%D9%88%DB%8C+%D8%B3%DB%8C%D8%B3%D8%AA%D9%85

یک خواهش دارم ازتون دوست عزیز

امکانش هست بهم بگید که اگر خودتون بفرض بخاید یک برنامه بنویسید که همراه با دیتابیس هست و بعد بخاید اون رو روی سیستم مشتری پیاده کنید به ترتیب چه کارهایی انجام میدید ؟

mreram
چهارشنبه 26 شهریور 1393, 22:07 عصر
هر پروژه ای که نه، نمونش همین که شما بلدید باز کنید.:متفکر:
در ضمن باید بدونید که برای استفاده از LocalDB نیازی به نصب SQLExpress نیست. بهتره برای اطلاعات درست و دقیق به منبع درست و دقیق و البته خود سایت سازنده این نرم افزارها مراجعه کنید.
در اصل localDB تنها به نسخه کوچک شده ای از sqlexpress نیاز داره که هنگام publish کردن برنامه ها هم میتونید به پروژه استفاده کنید. اونی هم که می فرمایید باید (البته باید نداره) sqlexpress نصب کنید برای اینه که هنگام نصب sqlexpress این localdb هم نصب میشه:
این لینک های مرجع و البته مطمئن:
http://www.sqlcoffee.com/SQLServer2012_0004.htm
http://www.microsoft.com/betaexperience/pd/SQLEXPCTAV2/enus/default.aspx
http://msdn.microsoft.com/en-us/library/hh510202.aspx
باز هم تاکید میکنم اینجا کسی قصد ضایع کردن نداره لطفا سطح علمی رو حفظ کنید و محترمانه صحبت کنید...اگر اینطور ادامه بدید من هیچ صحبتی با شما ندارم...
دقیقا تو همین لینکی که دادیدhttp://www.sqlcoffee.com/SQLServer2012_0004.htm گفته localDBباید روی سیستم مشتری نصب بشه و گفته این پکیج این امکان رو میده که با هر نسخه ی دیتابیس sql سازگاری داشته باشه .. خب امکان خوبی هست و من اینو نمیشناختم ولی بازهم باید این پکیج نصب بشه...

mreram
چهارشنبه 26 شهریور 1393, 22:14 عصر
یک خواهش دارم ازتون دوست عزیز

امکانش هست بهم بگید که اگر خودتون بفرض بخاید یک برنامه بنویسید که همراه با دیتابیس هست و بعد بخاید اون رو روی سیستم مشتری پیاده کنید به ترتیب چه کارهایی انجام میدید ؟
اول CNstring رو ست میکنم بعد ستاپ میسازم و فایل هایی که ازشون استفاده کرده (sql server expressو.net) رو به ستاپ اضافه میکنم ...

mohammad5530
چهارشنبه 26 شهریور 1393, 22:25 عصر
چطور کانکشن استرینگ رو ست میکنید ؟

پس مراحل کار به شکل زیر هست :
1 - اول دیتابیس رو به برنامه اضافه میکنیم . (حالا از نوع mdf)
2- از طریق Linq To Sql تیبل های دیتابیس رو به این قسمت میاریم
3- بعد کد نویسی
4- ایجاد ست آپ

درسته ؟

توی برنامه ی فعلی من ، از یک کلاس استفاده میکنم که به شکل زیر هست :

static class Constants {
public static string CONN_STRING = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Test.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
public static int MAX_USERS = 300;
public static int MAX_DB_CONNECTIONS = 500;
}

و بعد موقع اتصال شدن به دیتابیس از کد زیر استفاده میکنم :

var db = new FooladFCDataContext(Constants.CONN_STRING);

و کد زیر هم کانکشن استرینگ من هست :

<?xml version="1.0" encoding="utf-8" ?><configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="FooladFC.Properties.Settings.FooladFCConnectionStr ing1"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\FooladFC.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

آیا مشکلی توی کار هست ؟

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 22:30 عصر
امکانش هست بهم بگید که اگر خودتون بفرض بخاید یک برنامه بنویسید که همراه با دیتابیس هست و بعد بخاید اون رو روی سیستم مشتری پیاده کنید به ترتیب چه کارهایی انجام میدید ؟
اول پست #24 رو انجام میدیم، بعد یه setup می سازیم. Prerequisit های لازم (از جمله localDB یا sqlexpress) رو اضافه می کنیم و بعد publish میکنیم.
غذا آمادست:چشمک:

mohammad5530
چهارشنبه 26 شهریور 1393, 22:36 عصر
لازم هست که sql server نسخه کامل هم نصب بشه ؟

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 22:39 عصر
روی کلاینت؟ نه لازم نیست. همون localdb یا sqlexpress که اونم embeded خود فایل setup میشه

mohammad5530
چهارشنبه 26 شهریور 1393, 22:45 عصر
پست 43 رو چک کنید . من از Linq استفاده میکنم

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 22:56 عصر
پست 43 رو چک کنید . من از Linq استفاده میکنم
خب مراحلی که نوشتید درسته که. سوال چیه؟؟؟

mohammad5530
چهارشنبه 26 شهریور 1393, 23:06 عصر
خب مراحلی که نوشتید درسته که. سوال چیه؟؟؟

سوال اینه که چرا وقتی همه چی درست هست باز هم برنامه روی سیستم مقصد کار نمیکنه ؟

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 23:13 عصر
موقعی کار نمی کنه معمولا پیام خطا میده، خب اون پیام خطا رو کامل بذار. اگر امکان داره فایل exe رو ببینیم. شاید زودتر به نتیجه برسیم

mohammad5530
چهارشنبه 26 شهریور 1393, 23:26 عصر
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26- Error:Locating Server\instance Specified)

mohammad reza beizavi
چهارشنبه 26 شهریور 1393, 23:43 عصر
شما یه لطفی بکن. یه فایل udl روی کلاینت بساز اصلا ببین کلا به دیتابیس میتونی وصل بشی؟؟؟؟

mohsen12345
پنج شنبه 27 شهریور 1393, 00:30 صبح
یک خواهش دارم ازتون دوست عزیز

امکانش هست بهم بگید که اگر خودتون بفرض بخاید یک برنامه بنویسید که همراه با دیتابیس هست و بعد بخاید اون رو روی سیستم مشتری پیاده کنید به ترتیب چه کارهایی انجام میدید ؟

بابت دیر جواب دادنم عذر خواهی می کنم ، یه ذره سرم شلوغ شده
اول خطایی رو که میده رو اینجا بذارید تا بهتر بشه راهنماییتون کرد
دوم برای بعد از هر نصب و حذف دوباره چون یه بار با attachdbfile فایل sql رو attach کردید ارور میده احتمالا
سوم برای پروژه ها کوچک تر از دیتا بیس 4 گیگ یه نگاه کوتاهی هم به sqlce بندازید ، چیز خوبیه

mohsen12345
پنج شنبه 27 شهریور 1393, 00:35 صبح
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26- Error:Locating Server\instance Specified)


جوابی که با یه جستجوی کوچیک توی سایت msdn پیدا شد

Looks like you are trying to connect a remote named instance. To make it work, SQL Browser on the remote server must be enabled, UDP port 1434 should be put into exception if firewall presents.
یه تست بنید و نتیجه رو اطلاع بدید

aliramazani
پنج شنبه 27 شهریور 1393, 12:04 عصر
ویژوال 2010
اس کیو ال اکسپرس (نمیدونم چه ورژنی هست) که با خود ویژوال نصب شد
دات نت فریم ورک 4.5 کلاینت پروفایل

خب اس کیو ال شما 2008 هستش.
در سیستم مشتری باید اس کیو ال 2008 اکسپرس نصب بشه و اینستنس نیمش با پروژه خودت یکی باشه.
لوکال دی بی هم عالیه ولی اگر پروژه شما عمومی باشه ممکنه روی یک کامپیوتر پایین با ویندوز ایکس پی جواب نده.

محمد آشتیانی
پنج شنبه 27 شهریور 1393, 12:21 عصر
سلام
اول از همه دوستان لطفا رعایت بفرمائید و از ارسال پست های نامرتبط به بحث خودداری کنید

نسخه های مختلف SqlServer به این ترتیب هستن (البته من جزئیات رو نمیگم)
نسخه Enterprise (فایل دیتابیس با پسوند mdf)
نسخه Express (فایل دیتابیس با پسوند mdf)
و SqlServer Compact Edition یا همون CE (فایل دیتابیس با پسوند sdf)

در حال حاضر اینجا بحث در مورد SqlServer Express هست و اینکه LocalDB هم یک نسخه سبک از همین SqlServer Express هست
کلا نسخه های Enterprise و Express (که شامل localdb هم میشه) نیاز هست که تو سیستم مقصد نصب بشن.
تنها نسخه ای از SqlServer که نیاز به نصب نداره SqlServer CE هست که البته اونم باید به همراه پروژه ، dll های مربوطه باهاش کپی بشن.


موفق باشید

mohammad5530
پنج شنبه 27 شهریور 1393, 13:14 عصر
لطف میکنید یک ورژن از Sql Express 2008 که باید توی سیستم مشتری نصب بشه رو لینک بدین ؟

من توی فایل نصب برنامه Sql Express رو قرار دادم ولی باز هم کار نکرد . (البته پس از نصب)

توی سیستم مشتری SQL Server 2012 هم نصب هست . ممکنه توی کار مشکل ایجاد کنه ؟

mohammad5530
پنج شنبه 27 شهریور 1393, 15:16 عصر
چطور میشه از Linq در SQL CE استفاده کرد؟

mohammad5530
پنج شنبه 27 شهریور 1393, 16:16 عصر
من از SQL Compact 3.5 استفاده کردم و برنامه بدونه هیچ مشکلی اجرا شد .

حالا سوال این هست که اگر برنامه ای با sql server نوشته شد رو چجور باید روی سیستم دیگه اجرا کرد ؟

mohammad5530
شنبه 29 شهریور 1393, 21:19 عصر
لطفا راهنمایی کنید . من مشکلم هنوز حل نشده . اگر ممکن هست یک سورسی بزارید

khokhan
یک شنبه 30 شهریور 1393, 00:30 صبح
لازم هست که sql server نسخه کامل هم نصب بشه ؟
اشکال کارتون در اینه که برنامه شما در دو جا رشته اتصال تعریف شده :لبخند: یکی در فایل کانفیگ و دیگری همونی هست که دستی تعریف کردی ..... یعنی اینکه .............

بهتره فایل کانفیگ رو کلا حذف کنی و هرچی رشته اتصال توی seting پروژه داری پاک کنی و همون رشته اتصالی که دستی تعریف کردی رو ست کنی

khokhan
یک شنبه 30 شهریور 1393, 20:58 عصر
این پروژه با linq اجرا شده اما نه از فایل app config خبری هست و نه در بخش seting پروژه رشته اتصالی وجود داره

اما به راحتی با یه رشته اتصال که دستی تعریف شده از فایل دیتابیس داخل پوشه دیباگ اطلاعات رو می خونه

تغییرات به این شکل صورت گرفته :

123750