PDA

View Full Version : مشکل در ساخت setup و عدم ارتباط با بانک اطلاعاتی



eletcomp
یک شنبه 25 اسفند 1392, 17:31 عصر
با سلام بر عزیزان
من یک پروژه ای درست کردم که با بانک اطلاعاتی sql server 2008 نسخه کامل اش کار می کنه!! یک فیلم دیدم در مورد ساخت ستاپ در سی شارپ و طبق ان عمل کردم!! ولی زمانی که فایل ستاپ را روی یک سیستم دیگه ای نصب می کنم ارور در ضمینه عدم ارتباط با بانک اطلاعاتی میده!!
چند نکته مهم: من در ساخت برنامه ام که از نسخه sql express خود visual C#‎ 2010 استفاده نکردم و از نسخه کامل sql server 2008 استفاده کردم!!
داخل محیط برنامه نویسی app.config برای مسیر دهی به صورت نسبی وجود نداشت!! و هیچ مسیر دهی نسبی ای انجام ندادم!!!
کانکشن اسرینگ من به این صورت هست: Data Source=.;Initial Catalog=Wdays;Integrated Security=True
الان مشکل برای چی هست؟؟؟
لطفا راهنمایی کنید!!
سپاس

eletcomp
دوشنبه 26 اسفند 1392, 09:39 صبح
کسی بلد نیست!!!

r4hgozar
دوشنبه 26 اسفند 1392, 10:49 صبح
شما wininistaller , sql server و .netfreamwork رو ضمیمه فایل ستاپ کرده تا قبل اجرا برنامت نصب بشه؟؟

NasimBamdad
دوشنبه 26 اسفند 1392, 11:33 صبح
دیتابیس شما چه طور روی سیستم مقصد بر روی SQL Express اتچ میشه ؟

Installer بسازید ، SQL Express نصب کنید ، به طبع .Net Framework هم نصب کنید . فایل دیتابیس رو کنار برنامه قرار بدید


در نهایت باید Connection String مناسب استفاده کنید تا دیتابیس رو Attach کنید .

eletcomp
دوشنبه 26 اسفند 1392, 11:38 صبح
سلام: بله :
من sql server 2008 express و چند گزینه دیگه را ضمیمه کردم!! ولی نمیدونم چرا ارور میده؟؟
گزینه هایی که ضمیمه کردم!
1.windows installer 4.5
2.visual C++ 2010 runtime libraries X86 and X64
3.sql server compact 3.5 sp2
4.sql server 2008 express
5.microsoft .net framework 4 client profile

سپاس

NasimBamdad
دوشنبه 26 اسفند 1392, 11:40 صبح
این پست رو ببین کمکت می کنه

لیــــــــــــــنک (http://barnamenevis.org/showthread.php?444750-%DA%86%D9%87-%D8%B7%D9%88%D8%B1%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%AA%D8%AD%D8%AA-%D8%B4%D8%A8%DA%A9%D9%87-%D8%B1%D9%88-%DA%A9%D9%86%D8%A7%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A8%D8%B0%D8%A7%D8%B1%D9%85&p=1989081&viewfull=1#post1989081)

NasimBamdad
دوشنبه 26 اسفند 1392, 11:42 صبح
گزینه 2 و 3 و 5 رو حذف کن

نسخه کامل .Net Framework و نصب کن نه Client profile .

و کار هایی که در پست بالا گفتم

eletcomp
دوشنبه 26 اسفند 1392, 11:45 صبح
دیتابیس شما چه طور روی سیستم مقصد بر روی SQL Express اتچ میشه ؟
دوست عزیز: من بانک را با sql server 2008 نسخه کامل اش طراحی کردم!! ایا از sql server express 2008 استفاده کنم توی سیستم مشتری به مشکل بر نمی خورم!!
sql express توی سیستم مشتری نصب نمیشه!!!ارور مبده: همان فایلی که خود برنامه ویژوال داده را نصب کردم!!


Installer بسازید ، SQL Express نصب کنید ، به طبع .Net Framework هم نصب کنید . فایل دیتابیس رو کنار برنامه قرار بدید
این sql express را میشه جداگانه دانلود کرد؟؟؟ تا حالا نصب نکردم express را ؟؟ فایل دیتابیش توی پوشه debug گذاشتم!!


در نهایت باید Connection String مناسب استفاده کنید تا دیتابیس رو Attach کنید .
کانکشن استرینگ من این هست:
Data Source=.;Initial Catalog=Wdays;Integrated Security=True
سپاس

Mousavmousab
دوشنبه 26 اسفند 1392, 20:56 عصر
دوست عزیز به این صورت عمل کن حتماٌ مشکلت حل میشه


connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\MobileShop.mdf;integrated security=true;Connect timeout=30;User Instance=true;"



MobileShop نام بانک من است و اضح است که شما باید نام بانک خودتان را بدهید.
دوست عزیز تا اینجا 50% کار را انجام داده اید.
شما باید مطمئن باشید که نسخه درستی از SQL Express R2 را روی سیستم مشتری نصب کردی و به طور کامل سرویس آن کار می کند .
برای این کار بعد از اینکه برنامه SQL Express را روی سیستم هدف نصب کردی باید بری ببینی که آیا سرویسش کار می کنه یا نه ؟ احتمال 99% کار می کنه و هیچ مشکلی نداره ولی باید چک کنی ببینی آیا 100% همین طور است یا نه ؟
برای این کار باید بری SQL Express R2 را که در قسمت برنامه های نصب شده All programsیه پوشه پیدا کنی به نام Configuration Tools و برنامه SQL Server Configuration Manager را اجرا کنی و بعد می بینی که اون Instance به درسی Running است با نه ؟ اگه هست یعنی کارت تا اینجا درسته.
دوست عزیز الان دیگه برنامه کار می کنه و هیچ مشکلی نداره.
البته به این روشی که من گفتم باید فایل بانک را دقیقاٌ کنار فایل EXE از برنامه ات قرار بدی. و هیچ رمزی برای DB نگذاشته باشی و مهم تر از همه زمانی که داشتی SQL Express R2 را نصب می کردی باید نسخه ای متناسب با سیستم عامل مقصد انتخاب می کردی (32-64 بیتی بودن را مشخص می کردی) و Instance را هم باید به صورت پیش فرض نصب می کردی
دیگه نکنه داره !!! همینا را انجام بدی 100% کار می کنه .
من توی XP و Seven جواب گرفتم.
موفق باشی

eletcomp
دوشنبه 26 اسفند 1392, 21:28 عصر
ممنون دوست عزیز: نمیدانم چرا عزیزان توی خواندم پست ها دقت نمی کنند!! این کانکشن که گفتید برای زمانی که هست از sql server express استفاده کرده باشیم!!
من گفتم که از نسخه کامل اش کردم!!در ضمن R2 هم گمان نکنم باشه!!
راستی نسخه express را ازکجا میشه گیر اورد و چطور نصب میشه؟؟
سپاس

NasimBamdad
دوشنبه 26 اسفند 1392, 22:25 عصر
شما می بایست نسخه SQL Express 2008 R2 رو در کامپیوتر مقصد و مشتری نصب کنید .

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

مشکلی نباید باشه . هر ارروی میده اینجا بنویس !

eletcomp
دوشنبه 26 اسفند 1392, 22:38 عصر
شما می بایست نسخه SQL Express 2008 R2 رو در کامپیوتر مقصد و مشتری نصب کنید .

دوست عزیز ممنون: چند سئوال مهم:
1.الان فرق بین نسخه r2 با معمولی چی هست؟؟؟ از کجا باید بفهمم برای r2 هست یا نه؟؟؟از مایکروسافت باید دانلود کنم؟؟؟
2.ایا برای تنظیم کانکشن استرینگ نیاز به فایل app.config نیست؟؟؟ من این فایل را توی قسمت تنظیمات ندارم!!! چه کار کنم؟؟
سپاس

NasimBamdad
دوشنبه 26 اسفند 1392, 22:41 عصر
1- نسخه R2 جدید تر هست به همین دلیل بهتره ، و اینکه شما در کامپیوتر مقصد مشکل تداخل ورژن و آپگرید و دان گرید ندارید .
در SQL از ورژن پایین به بالا میشه رفت ،، از بالا به پایین نمیشه .
پس حتما R2 نصب کن .

بهتره از نرم افزار هایی مثل Install Aware و Install Shield برای اینکار استفاده کنید که Setup بسازید .


2- برای کانکشن استرینگ خودم از یک فایل XML که ساخته ام استفاده می کنم . شما اگه از App.Config استفاده می کنید ، پس باید کانکشن استرینگ که در APP.CONFIG هست رو تغییر بدید