PDA

View Full Version : مشکل در انتقال پروژه با بانک اطلاعاتی SQL به یک کامپیوتر دیگر در خارج از شبکه



mahdi-1
چهارشنبه 06 آذر 1392, 19:43 عصر
سلام به همه استادان
آقا من این پروژه رو تو VS با بانک اطلاعاتی که تو برنامه SQL Server هست نوشتم .
حالا بردم به استاد نشون بدم وقتی کپی میکنم تو لپتاپش ارور میده و میگه بانک اطلاعاتی مورد نظر پیدا نشد.
Connectio String منم اینه:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="WindowsFormsApplication1.Properties.Settings.DataS ourceConnectionString"
connectionString="Data Source=.\SQLExpress;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="WindowsFormsApplication1.Properties.Settings.ATEXC onnectionString"
connectionString="Data Source=.\SQLExpress;Initial Catalog=ATEX;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
تو کامپیوتر استاد هم SQL نصبه.

fakhravari
چهارشنبه 06 آذر 1392, 20:28 عصر
مطمئن در SQLExpress نصب کردین = سیستم استاد

mahdi-1
چهارشنبه 06 آذر 1392, 21:01 عصر
مطمئن در SQLExpress نصب کردین = سیستم استاد
بله روی اون هم نصبه حالا به نظر شما Connectionn String رو چی بدم؟.
من از شی LinQ برای برقراری ارتباط استفاده میکنم .
الان اینطوری هم گذاشتم بازم نمیشه:
DataClasses1DataContext f = new DataClasses1DataContext();
f.Connection.ConnectionString = "Data Source=.;Integrated Security=True";

mahdi-1
چهارشنبه 06 آذر 1392, 21:17 عصر
مطمئن در SQLExpress نصب کردین = سیستم استاد
یکی از دوستان گفت بنویسم
"Data Source=.\\SQLEXPRESS;AttachDbFilename=" + Environment.CurrentDirectory + "\\BankName.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
که این دیگه تحت شبکه نیست.
چون استاد گفته برنامه باید تو شبکه کار کنه و بتونه به سرور متصل بشه و بانک رو از اون بخونه.
حالا پروژه رو که میخوامم براش ببرم باید تو لپتاپش بهش نشون بدم . پس آیا میشه اون کامپیوتر هم Server باشه هم SQL Client?

حمیدرضاصادقیان
پنج شنبه 07 آذر 1392, 02:19 صبح
سلام.
ببینید اول باید به استادتون معنی شبکه رو یاد بدین.
وقتی یک Application روی یک سیستم باشه و دیتابیس نیز روی همون سیستم باشه بهش نمیگن شبکه میگن Local.
دوم اینکه برنامه شما نمیتونه شبکه باشه چون در غیر اینصورت باید یک سیستم دیگه دراختیار شما بذارن که SQL Server داشته باشه و شما دیتابیس مورد نظرت رو روش نصب کنی و از سیستم خودت در قسمت Data Source نام همون سرور رو بنویسی.
سوم اینکه اول باید مطمئن بشید SQLExpress روی سیستم استاد نصب هست یا خیر.
برای اطمینان از نصب میتونید در Control Panel-Adminstrative tools-services ببینید یا سرویس Microsoft SQL Server (SQLEXPRESS) وجود داره یاخیر.
اگر نبود یعنی اینکه نصب نیست وباید اونو نصب کنید.
بعد دیتابیس مورد نظر رو روش Attach کنید یا ازروش خودتون که در آخرین پست گفتید استفاده کنید.

mahdi-1
پنج شنبه 07 آذر 1392, 11:27 صبح
سلام.
ببینید اول باید به استادتون معنی شبکه رو یاد بدین.
وقتی یک Application روی یک سیستم باشه و دیتابیس نیز روی همون سیستم باشه بهش نمیگن شبکه میگن Local.
دوم اینکه برنامه شما نمیتونه شبکه باشه چون در غیر اینصورت باید یک سیستم دیگه دراختیار شما بذارن که SQL Server داشته باشه و شما دیتابیس مورد نظرت رو روش نصب کنی و از سیستم خودت در قسمت Data Source نام همون سرور رو بنویسی.
سوم اینکه اول باید مطمئن بشید SQLExpress روی سیستم استاد نصب هست یا خیر.
برای اطمینان از نصب میتونید در Control Panel-Adminstrative tools-services ببینید یا سرویس Microsoft SQL Server (SQLEXPRESS) وجود داره یاخیر.
اگر نبود یعنی اینکه نصب نیست وباید اونو نصب کنید.
بعد دیتابیس مورد نظر رو روش Attach کنید یا ازروش خودتون که در آخرین پست گفتید استفاده کنید.
تشکر از جواب کاملتون دو هفته وقت منو شبانه روز این پروژه گرفته بود نگو استادمون اصلا......
ببخشید چجوری باید Atach کنم بانک رو.
شما میفرمایید که اگه بانک و پروژه روی یه سیستم باشن و بانک هم از SQL Server بگیریم بانک میشه Local درسته.
منم همینو میخوام که درعین حالی که Local هست بانک تو SQL Server باشه چه تو کامپیوتر من که جواب میده چه تو کامپیوتر استاد که جواب نمیده و نمیدونم باید چه کار کنم :فایل بانکو ببرم یا از بانک بک آپ بگیرم اونجا بازیابیش کنم که نشد. نظر شما چیه؟ جوابشو چی بدم.
یعنی شما می فرمایید که Connection String ای که هم تو سیستم خودم و هم تو سیستم استاد بتونه به بانک متصل بشه وجود نداره؟
راستی بانک اطلاعاتی رو چجوری باید برای استاد ببرم ؟
فکر کنم مسیرش :
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA
اگه آره باید اینو کپی کنم اونجا چه جوری به برنامه معرفیش کنم.
خواهش میکنم کمک کنید دو هفته وقت دارم برا پروژه ام.

fakhravari
پنج شنبه 07 آذر 1392, 12:55 عصر
تحت شبکه یعنی از یک سیستم به بالا پس ادرس کانکن استرینگ یا نام سیستم یا ip
کانکشن استرینگ همچین چیزی میشه
<add name="ConnectionString1" packet size=4096;user id=fakhr;pwd=123456789;data source=192.168.1.1;persist security info=False;initial catalog=fakhravary;Min Pool Size=100;Max Pool Size=100;Connect Timeout=100;" providerName="System.Data.SqlClient" />

حمیدرضاصادقیان
پنج شنبه 07 آذر 1392, 17:01 عصر
ببینید ابتدا طبق اون راهی که گفتم مطمئن باشید روی سیستم استادتون SQL Server نصب هست یاخیر.
بعد از این میتوانید با همون Connection String دیتابیس رو ایجاد کنید فقط باید فایل Mdf,ldf دیتابیس رو با خودتون ببرید.
کار دیگه ای نیازی نیست انجام بدید.