PDA

View Full Version : سوال: خطا در ارتباط با دیتابس در پروژه asp.net



energy
پنج شنبه 02 بهمن 1393, 01:27 صبح
سلام
بنده یه پروژه asp.net رو با visual studio 2013 باز کردم اما در برقراری ارتباط با دیتابیس خطا میده
خواستم بصورت دستی کدها رو ویرایش کنم
کد زیر رو وارد کردم
کد:
string str = "Data Source=(LocalDB)\\v11.0;AttachDbFilename=C:\\Users \\vostro1510\\Desktop\\website-new\\amval_Data.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection con = new SqlConnection(str);
con.Open();
محل قرار گیری فایل دیتابس
C:\Users\vostro1510\Desktop\website-new\amval_Data.MDF
هست
اما بعد از اجرا در قسمت con.close ارور میده و سایت بالا نمیاد
مشکلی در کدنویسی هست؟
اینم بگم دیتابیسو اتچ کردم
اما باز هم در برقراری با دیتابیس مشکل داره
ویندوزم ویندوز 8.1
انتی ویروس ناد 32
این پروژه رو شنبه باید تحویل دانشگاه بدم ممنون میشم سریع جواب بدین

sajadsobh
پنج شنبه 02 بهمن 1393, 05:38 صبح
وقتی دیتابیس اتچ شده دیگه نیازی نیست شما آدرس فایل mdf رو بدید.

SqlConnection sqlCon = new SqlConnection(@"Server=.; Database=DB_Name; Integrated Security=True;");

energy
پنج شنبه 02 بهمن 1393, 09:51 صبح
این عکس از خطا
کجاشو باید ویرایش کنمhttp://upload7.ir/uploads//9f668881d1c224299baa4faae1b6c712d3b256e7.png

بیتا حکمت
پنج شنبه 02 بهمن 1393, 10:10 صبح
سلام جناب ، همونجا نوشتین String Str ، دو خط بالاتر از همونجایی که خطا ظاهر شده رو تغییر بدین ، بعد مساوی رو پاک کن و اینو بنویس



SqlConnection sqlCon = new SqlConnection(@"Server=.; Database=DB_Name; Integrated Security=True;");



حواس اتون باشه به جای DB_Name باید اسم دیتابیس خودتو بنویسید

energy
پنج شنبه 02 بهمن 1393, 21:08 عصر
اینجوری که نمیشه سه تا مساوی پشت سر هم قرار میگیره
راستی اسم دیتابسمو ار کجا بیارم؟

sajadsobh
جمعه 03 بهمن 1393, 01:02 صبح
شما دو خط ِ بالای con.open() توی کدنویسی خودت رو پاک کن بجای اون دو خط که حذف کردی اینو بنویس:

SqlConnection con= new SqlConnection(@"Server=.; Database=DB_Name; Integrated Security=True;");


فقط همونجور که بیتا حکمت (http://barnamenevis.org/member.php?348491-%D8%A8%DB%8C%D8%AA%D8%A7-%D8%AD%DA%A9%D9%85%D8%AA) گفتند باید بجای DB_Name اسم دیتابیس خودتون رو که اتچ کردین بنویسین.
در آخر هم باید بگم واسه پر کردن دیتاگرید نیار به باز و بسته کردن کانکشن ندارید. هر وقت که با SqlCommandها دارید کار میکنید باید کانکشن رو open کنید. پس این خطوط رو هم حذف کنید:

con.open();
con.close();
GridView1.DataBind();

energy
یک شنبه 05 بهمن 1393, 02:22 صبح
مرسی اما من چیزی نفهمیدم
رفتم ویژوال استادیو 2008 رو نصب کردم
یه پایگاه داده میخوام اتچ کنم اما با خطای زیر مواجه میشم
Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed.
تو اینترنت سرچ زدم گفتن user instance رو بزار روی false
اما موقع اتچ با خطای زیر مواجه شدم

An attempt to attach an auto-named database for file C:\Users\Desktop\Dp\dppdatabase.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
چه کنم

fakhravari
یک شنبه 05 بهمن 1393, 02:28 صبح
2 حالت داره
دیتابیستون خرابه
یا sql express نصب نیست

energy
یک شنبه 05 بهمن 1393, 12:37 عصر
من ویژال 2008 شرکت پرنیان رو نصب کردم
کامل بود
همه پکیج ها رو نصب کرد
اما این خطا رو میده

sajadsobh
دوشنبه 06 بهمن 1393, 17:34 عصر
یه چیزایی یادمه. باید یه جا یه فولدر رو پاک کنید. دوباره ساخته شه. یکم سرچ کنین. من شب اومدم سرچ میکنم اگه پیدا کردم میذارم واستون.

sajadsobh
دوشنبه 06 بهمن 1393, 20:15 عصر
شما اول بگو با sql server express کار میکنی یا sql server management studio نصبه؟ ما رو هم گمراه کردی :گیج: