ورود

View Full Version : مشكل باز كردن Connection



vandermond
سه شنبه 02 تیر 1388, 12:07 عصر
سلام
من وقتي ميخوام Connection رو باز كنم (تو برنامه) مشكل ميگيره. مشكل در زمان اجرا.
خطايي كه ميگيره اينه:

SqlException was Unhandled
A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)


كدي كه براي تعريف كانكشن نوشتم:

SqlConnection objConnection =
new SqlConnection("server=localhost;database=pubs;" +
"user id=Admin;password=");

نميدونم SQL Server با خود دات نت نصب ميشه يا نه؟
چون ممكنه اصلا SQL Server رو ندارم. فقط Configuration Toolsش رو دارم(تو استارت منو).
از مايكروسافت ميخواستم بگيرم. همون كه حدود 300 مگ هست(SQLServer2005SP3-KB955706-x86-ENU.exe) رو گرفتم ولي مثل اينكه چيزاي ديگه اي هم نياز داره. آره؟
لطفا كمك كنيد...

Reza_Yarahmadi
سه شنبه 02 تیر 1388, 15:24 عصر
اگه SQL Server ندارید پس با چی بانکتون رو ساختید؟ اگه به خود VS درست کردید که اون نسخه Express و باید توی Connection String قید کنید که نسخه شما Express است. در ضمن آدرس بانک رو هم یا باید به صورت مستقیم بنویسید یا نسبی.
یه نمونه واستون میذارم (آدرس مستقیم است)


Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Documents and Settings\Reza\My Documents\pubs.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True

blackrose1
سه شنبه 02 تیر 1388, 15:42 عصر
اگه SQL Server ندارید پس با چی بانکتون رو ساختید؟ اگه به خود VS درست کردید که اون نسخه Express و باید توی Connection String قید کنید که نسخه شما Express است. در ضمن آدرس بانک رو هم یا باید به صورت مستقیم بنویسید یا نسبی.
یه نمونه واستون میذارم (آدرس مستقیم است)


Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Documents and Settings\Reza\My Documents\pubs.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True

من هم از همین رشته برای اتصال استفاده کردم و حالا نمیتونم اون رو در sql باز کنم

vandermond
سه شنبه 02 تیر 1388, 15:59 عصر
من طبق جزوه آموزشي پيش ميرم (از همين سايت گرفتم learn.visual.c.sharp.farsi) و گفته بود كه pubs يك بانك نمونه تو SQL هست (مثل Northwind تو اكسس) و كدش رو هم به همين صورت نوشته بود. هيچ بانكي نساخته بود و اصلا SQL server رو يك بار هم باز نكرد.

Reza_Yarahmadi
سه شنبه 02 تیر 1388, 16:31 عصر
شما اول SQL Server رو نصب کنید بعد از دستور جزوه رو بنویسید. سیستم شما اصلا SQL Server نصب نیست که بخواد به بانکی از اون دسترسی پیدا کنه.
اگر قصد ندارید نصب کنید میتونید از SQL Server خود ویژوال استودیو استفاده کنی (همون Express). اول یه بانک درست کنید بعد بجای Connection String جزوه اونی که به شما معرفی کردم رو بذارید.
برای درست کردن بانک در VS
Server Explorer --> Connect To DataBase --> Change... --> Microsoft SQL Server DataBase File --> OK
در پنجره Add Connection و بخش DataBase file name اسم بانک مورد نظرت رو بنویس (pubs) و OK
پیغام رو جواب مثبت بدید.
بانک مورد نظرتون توی MyDocument ساخته میشه.
تنها فرقش توی برنامه نویسی همون Connection String است.

vandermond
سه شنبه 02 تیر 1388, 16:59 عصر
اين كدي كه گفتين رو چه جوري وارد كنم ؟
يعني همون رشته اي كه بهش دادم رو با اين عوض كنم؟ يا مثلا بزنم:

objConnection.DataSource=.\SQLEXPRESS;
ولي اينو كه زدم براي بقيه نشد.(AttachFileName و..)
ممنون از كمكتون

asefy2008
سه شنبه 02 تیر 1388, 17:11 عصر
اگر اشتباه نکنم باید این طور باشه (سی شارپ نصب نیست):


SqlConnection objConnection = new SqlConnection();
objconnection.ConnectionString="Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Documents and Settings\Reza\My Documents\pubs.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True";

vandermond
سه شنبه 02 تیر 1388, 17:23 عصر
آره درسته بايد بصورت رشته به كانكشن بدم. ممنون از كمك همتون. ولي بالاخره بايد برم SQL Server رو بگيرم.
البته اين رشته هايي كه شما گفتين اولش بايد @ بزارين كه درست كار كنه.
ممنون كه يك روش خوب به من ياد دادين.

vandermond
سه شنبه 02 تیر 1388, 17:25 عصر
راستي كدوم ورژن و چه مدلSQL Server رو بگيرم؟
براي XP S2 ؟
ممنون از كمكتون...

asefy2008
سه شنبه 02 تیر 1388, 18:06 عصر
سی شارپت چه ورژنیه ؟

Reza_Yarahmadi
سه شنبه 02 تیر 1388, 18:17 عصر
معمولا از SQL Server 2005 استفاده میشه ولی شما میتونید از 2008 و یا 2000 استفاده کنید (بستگی به سیستمتون داره ، هر چی سر حالتر ورژن بالاتر! :چشمک:)

vandermond
سه شنبه 02 تیر 1388, 23:43 عصر
دات نت 2008 هست.
يك دي وي دي گرفتم و نسخه Enterprise رو نصب كردم . جالبه تو خودش نميتونه سرور كامپيوتر خودمو باز كنه!!!
يعني ممكنه نسخه ش با ويندوز يا كامپيوترم جور نيست؟
نسخه Developer خوب هستش؟؟؟

asefy2008
چهارشنبه 03 تیر 1388, 10:49 صبح
دات نت 2008 هست.
يك دي وي دي گرفتم و نسخه Enterprise رو نصب كردم . جالبه تو خودش نميتونه سرور كامپيوتر خودمو باز كنه!!!
يعني ممكنه نسخه ش با ويندوز يا كامپيوترم جور نيست؟
نسخه Developer خوب هستش؟؟؟
چیزهای دیگه ای هم امکان داره مثلا قبلا sql نصب کردی بعد پاک کرده باشی یا اینکه فکر کنم (درست خاطرم نیست ) باید یکی شون اول نصب شه بعد اون یکی (منظورم سی شارپ و sql هست).

vandermond
چهارشنبه 03 تیر 1388, 11:08 صبح
ممنون از كمك همتون. من نسخه Standard Edition 2005 رو نصب كردم. خوبه ولي يك مشكل دارم كه نميتونم يوزر آي دي و پسورد يك ديتابيس رو (مثلا pubs كه نمونه خودش هست) پيدا كنم. sa رو هم ميزنم بدون پسورد باز مشكل داره.(اينا رو تو كد برنامه مينويسم.)