PDA

View Full Version : مشکل در وصل شدن به database



aminbrleevb
چهارشنبه 11 تیر 1393, 09:59 صبح
با سلام
من از sql server express R2 2008 استفاده می کنم .
یک برنامه دارم که وقتی اجراش میکنم خطا میده نمیدونم دیگه باید چی کارش کنم 1 هفتس که میگردم ولی بی فایدس
اینجا هم مطرح کردم و پیشرفت هایی هم کردم ولی بازم به نتیجه نرسیدم.
از اول می گم
من از sql server express R2 2008 استفاده می کنم یعنی هیچ دیتابیسی رو نمی خوام اتچ کنم . حالا یک برنامه دارم که یک دیتابیس هم داره
کانکشن استرینگ من اینه


Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\dbtest.mdf;Integrated Security=True;Connect Timeout=30;


حالا وقتی تو یکی از درایو هام اجراش میکنم این خطا رو میده


System.Data.SqlClient.SqlException: Unable to open the physical file "E:\Debug\dbtest.mdf". Operating system error 5: "5(failed to retrieve text for this error. Reason: 15105)".
An attempt to attach an auto-named database for file E:\Debug\dbtest.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.


و وقتی میزارمش رو دستکتاپ و اجراش میکنم این خطا رو میده



See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.SqlClient.SqlException: An attempt to attach an auto-named database for file C:\Users\POWER\Desktop\Debug\dbtest.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share


خواهش میکنم کمک کنید

aghayex
چهارشنبه 11 تیر 1393, 17:30 عصر
sql server express درون خودش یه کش از دیتابی های اتصالی بهش رو داره بگرد و روش پاک کردن این کش sql server express رو پیدا کن

roolinjax
چهارشنبه 11 تیر 1393, 19:03 عصر
سلام
وقتی با این روشی که نوشتین کانکشن استرینگ رو می نویسید باید برید داخل sql server manager و دیتابیس مورد نظرتون رو Detatch کنید.
خود برنامه زمانی که نیاز به برقراری ارتباط داشته باشه با کانکشنی که نوشتین ابتدا به دیتابیس وصل میشه و بعد عمل مورد نظر رو انجام میده.
موفق باشید

aminbrleevb
چهارشنبه 11 تیر 1393, 19:38 عصر
sql server express درون خودش یه کش از دیتابی های اتصالی بهش رو داره بگرد و روش پاک کردن این کش sql server express رو پیدا کن


کاش خودتون می گفتین


سلام
وقتی با این روشی که نوشتین کانکشن استرینگ رو می نویسید باید برید داخل sql server manager و دیتابیس مورد نظرتون رو Detatch کنید.
خود برنامه زمانی که نیاز به برقراری ارتباط داشته باشه با کانکشنی که نوشتین ابتدا به دیتابیس وصل میشه و بعد عمل مورد نظر رو انجام میده.
موفق باشید

اگه منظورتون SQL Server Management Studio هست که من تو سیستم مشتری که اینو نصب نمیکنم فقط و فقط express رو نصب میکنم
حال بگید آیا راهی هست تا در نصخه express این کارو کرد؟

aghayex
پنج شنبه 12 تیر 1393, 17:35 عصر
http://www.google.com/search?site=&source=hp&q=delete+connections+in+sql+express+&oq=delete+connections+in+sql+express+&gs_l=hp.12...0.0.1.681.0.0.0.0.0.0.0.0..0.0....0.. .1c..48.hp..0.0.0.EPc997dZ6gk

roolinjax
یک شنبه 15 تیر 1393, 17:22 عصر
قطعه کد Detach کردن دیتابیس از طریق دستورات سی شارپ :
public string detach(string DBName) {
string re;
SqlConnection.ClearAllPools();
try
{
SqlConnection con = new SqlConnection("server=.;trusted_connection=yes;");
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "EXEC sp_detach_db '" + DBName + "', 'true';";
cmd.CommandType = CommandType.Text;
con.Open();
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
re = "Detached Succesfully";
}
catch (Exception ex)
{
re = ex.Message;
}
return re;
}