View Full Version : سوال: فوری فوری خطا در attachکردن sql2008در C#
hichkasebikas
شنبه 04 شهریور 1391, 12:51 عصر
خواهش میکنم یکی دلیل این خطا رو بهم بگه.(عکس ضمیمه شده)
هرجایی که میگردم کسی کد attach کردن sql2008در C# رو قرار نداده. همشون همین طوری نوشتن که بازم جواب نمیده. حتی این کد رو هم بهم دادن اما من بدون پسورد(local)وارد میشم و نمیدونم خط اولش رو چطو تغییر بدم!!؟؟
خیلی فوریه خواهش میکنم زود جواب بدین!
string connectionstring = "Data Source=.;User ID='sa';Password='31'";
SqlConnection conn = new SqlConnection(connectionstring);
string dbname = "ma";
string query1 = "USE [master] IF NOT EXISTS (Select name from sysdatabases WHERE name ='" + dbname + "') EXEC sp_attach_db @dbname = 'ma',@filename1 = '" + Application.StartupPath + "\\ma.mdf' , @filename2 ='" + Application.StartupPath + "\\ma_log.ldf'";
SqlCommand cm1 = new SqlCommand(query1, conn);
conn.Open();
try
{
cm1.ExecuteNonQuery();
}
catch
{
MessageBox.Show("مشکل در اجرای دیتابیس توسط برنامه", "خطای دیتابیس");
}
دوستان به نظرتون این پیغام نمیخواد بگه که من 5تا خطا توی برنامم دارم؟؟:متفکر:
hichkasebikas
شنبه 04 شهریور 1391, 14:34 عصر
بابا یکی راه حل بده توروخدااااااااااا!!!!
فردا صبح باید پروژه رو تحویل بدم!
حتما" هم باید با کد Attach کنم.
hakim22
شنبه 04 شهریور 1391, 18:19 عصر
این یک مشکل امنیتیه
اول مطمئن شوید که آدرس فایل کاملا درسته !
بهتره توی یک مسیر کوتاهتر باشه
بعد مطمئن بشید که Run as administrator رو هنگام راه اندازی VS استفاده کردید.
این کد خیلی عجیب و غریبه و نمیدونم کار به Master چه ربطی به Attach کردن توی SQL server داره
اینکار رو با SMO به راحتی میشه انجام داد :
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
Dim owner As String
Dim logstr as String
Dim datastr as String
owner = srv.Databases("AdventureWorks2012").Owner
Dim d As DataTable
datastr = "C:\Program Files\Microsoft SQL Server"
datastr = datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Data.mdf"
logstr = "C:\Program Files\Microsoft SQL Server"
logstr = logstr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Log.ldf"
d = srv.DetachedDatabaseInfo(datastr)
Dim r As DataRow
Dim c As DataColumn
'Attach the database
Dim sc As StringCollection
sc = New StringCollection
sc.Add(datastr)
sc.Add(logstr)
srv.AttachDatabase("AdventureWorks2012", sc, owner, AttachOptions.None)
amir-aa
شنبه 04 شهریور 1391, 18:51 عصر
به هیچ وجه نباید intial catalog بذاری!!integrated security رو هم بردار همونجوری که گفتم بنویس
string connectionstring = "Data Source=.;User ID='sa';Password='01'";
علاوه بر اون بذار توی فرولدر bin/debug ببین درست میشه؟؟
یادت نره مسیرشم مثل کد زیر بنویسی
Application.StartupPath + "\\db.mdf
nilmil_nil
شنبه 04 شهریور 1391, 18:56 عصر
فک کنم شما باید اول به جدول master وصل بشین بعد دستور SQL اجرا کنید
و بعد از اون فایل mdf رو Attach کنید
hichkasebikas
یک شنبه 05 شهریور 1391, 17:09 عصر
این یک مشکل امنیتیه
اول مطمئن شوید که آدرس فایل کاملا درسته !
بهتره توی یک مسیر کوتاهتر باشه
بعد مطمئن بشید که Run as administrator رو هنگام راه اندازی VS استفاده کردید.
این کد خیلی عجیب و غریبه و نمیدونم کار به Master چه ربطی به Attach کردن توی SQL server داره
اینکار رو با SMO به راحتی میشه انجام داد :
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
Dim owner As String
Dim logstr as String
Dim datastr as String
owner = srv.Databases("AdventureWorks2012").Owner
Dim d As DataTable
datastr = "C:\Program Files\Microsoft SQL Server"
datastr = datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Data.mdf"
logstr = "C:\Program Files\Microsoft SQL Server"
logstr = logstr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Log.ldf"
d = srv.DetachedDatabaseInfo(datastr)
Dim r As DataRow
Dim c As DataColumn
'Attach the database
Dim sc As StringCollection
sc = New StringCollection
sc.Add(datastr)
sc.Add(logstr)
srv.AttachDatabase("AdventureWorks2012", sc, owner, AttachOptions.None)
ممنونم اما من با زبان c#دارم مینویسم.لطفا"کد به زبان c#رو اگه دارین واسم بذارین.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.