PDA

View Full Version : مقاله: attach کردن دیتابیس sqlserver در برنامه های C#



a-rahmani
دوشنبه 19 تیر 1391, 15:54 عصر
سلام
من برنامه ای با C#2008 نوشتم که دیتابیسش sql server 2005 هستش . هنگام Run شدن برنامه از داخل visual studio.net 2008 برنامه هیج مشکلی نداره هر چند که از کد برای attach کردن دیتابیس استفاده می کنم .
اما وقتی برنامه رو setup می کنم و روی سیستم دیگه ای نصبش می کنم ( همراه با تمام پیش نیازهاش مثلا sql express) برنامه اجرا نمیشه و نمی تونه دیتابیس و باز یا attach کنه .
من از کد زیر برای attach کردن استفاده می کنم .
private void frmLoad_Load(object sender, EventArgs e)
{
load();
loadTimer.Start();
sqlClass.strSqlKadkdb = " Data Source=.\\SQLEXPRESS;AttachDbFilename=";
sqlClass.strSqlKadkdb += System.Environment.CurrentDirectory + "\\Data\\kad.mdf (file://\\Data\\kad.mdf);";
sqlClass.strSqlKadkdb += "Integrated Security=true;User Instance=true";
}
private void load()
{
try
{
string strConnection = "Data Source=(local);Initial Catalog=master;Integrated Security=True";
SqlConnection connection = new SqlConnection(strConnection);
connection.Open();
string strKadkdb = "use master;" +
"EXECUTE sp_attach_db @dbname = N'kad'," +
"@filename1 = N'" + System.Environment.CurrentDirectory + "\\Data\\kad.mdf' (file://\\Data\\kad.mdf')," +
"@filename2 = N'" + System.Environment.CurrentDirectory + "\\Data\\kad_log.ldf' (file://\\Data\\kad_log.ldf')";
SqlCommand command = new SqlCommand(strKadkdb, connection);
command.ExecuteNonQuery();
command.Dispose();
connection.Close();
}
catch
{
}
}


یکی از error های که معمولا میده مثل تصویر زیر هستش.
89440
ممنون میشم منو راهنمایی کنید.

robat7
جمعه 23 تیر 1391, 21:43 عصر
دوست عزیز
شاید یه ذره دیر باشد
اگر پیام را بخوانید به شما می گوید این دیتا بیس وجود دارد یا فایل مورد نظر را نمی تواند باز کند ...