PDA

View Full Version : سوال: attachکردن دیتابیس در conectionstring



حجتی نیا
سه شنبه 24 شهریور 1388, 06:00 صبح
چطوری میشه در connectionstring دیتابیس رو attach کرد تا بعد از نصب در هر کامپیوتری اون دیتابیس رو بشناسه؟

JaguarXF
سه شنبه 24 شهریور 1388, 08:31 صبح
کانکشن استرینگ رو اگه معنی سی شارپیش رو هم ندونم ترجمه تحت اللفظیش میشه رشته نگداری کانکشن .
حالا چطور قراره توی یک رشته که اطلاعات کانکشن رو نگه میداره میخواید بک آپ دیتابیس بگیرید الله اعلم!

f_naderi
سه شنبه 24 شهریور 1388, 12:22 عصر
سلام
فکر کنم اگه از چنین کانکشنی استفاده کنید جواب بده:
"uid=sa;pwd=;Initial Catalog=database name"+"Data Source=(local);Connect Timeout=30"

و برای attach کردن دیتابیس :
private void button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=(local);Initial Catalog=master;Integrated Security=True";
con.Open();

string str = "use master;" +
"EXECUTE sp_attach_db @dbname = N'SaynaDB' , " +
" @filename1 = N'" + System.Environment.CurrentDirectory + "\\Data\\SaynaDB.mdf'," +
"@filename2 = N'" + System.Environment.CurrentDirectory + "\\Data\\SaynaDB_log.ldf'" ;

SqlCommand cmd = new SqlCommand(str,con);
cmd.ExecuteNonQuery();
con.Close();


;(" شد Attach دیتابیس با موفقیت") MssageBox.Show
{

catch (Exception x)
{
if(x.Message.IndexOf("already exists")>=0)

;(" دیتابیس موجود است").MssageBox.Show
else
MessageBox.Show(x.Message);
}
}
فرض میکنیم که اسم دیتابیسمون saynadb هستش.فایلهای مربوط به دیتابیستون رو در فولدری به اسم data قرار بدید و سپس این فولدر رو در جایی که exe برنامتون هستش قرار بدید.

f_naderi
جمعه 27 شهریور 1388, 12:09 عصر
از این کانکشن هم فکر کنم بشه استفاده کرد:
static string path = Application.StartupPath;
staticOleDbConnection con = newOleDbConnection("provider=microsoft.jet.oledb.4.0;" +
"data source=" + path +" \\Data\\DataBase1.mdb (file://\\Data\\DataBase1.mdb));

البته باید oledbconnection رو به sql تغییر بدی.

1234
جمعه 27 شهریور 1388, 19:14 عصر
وقتی می خوای کانکشن درست کنی تا آخرش نرو تا مسیر دیتا بیس رو بگیری فقط برو یا اینکه اصلا کانکشن نساز بطور مثال یک دیتا گراید ویو به برنامه بطور موقتی اضافه کن و براش مراحل کانکشن ساختن رو طی کن اما تا آخر یعنی finish نرو که بعدا انتقال دادن کانکشن به یک کامپیوتر دیگه مشکل پیش میاد و تا جایی که دیتا سورس بیاد برو و دیتا سورس رو کپی کن در کد زیر:البته از .; به بعد این دیتاسورس رو قرار بده
SqlConnection con = new SqlConnection(@"data source =.;Initial Catalog=database name ;integrated security = true

البته دوست عزیز دابلکوتیشن و پرانتز بسته و سیمی کالن رو هم آخرش اضافه کن

1234
جمعه 27 شهریور 1388, 19:26 عصر
سلام دوست عزیز جواب :وقتی می خوای کانکشن درست کنی تا آخرش نرو تا مسیر دیتا بیس رو بگیری فقط برو یا اینکه اصلا کانکشن نساز بطور مثال یک دیتا گراید ویو به برنامه بطور موقتی اضافه کن و براش مراحل کانکشن ساختن رو طی کن اما تا آخر یعنی finish نرو که بعدا انتقال دادن کانکشن به یک کامپیوتر دیگه مشکل پیش میاد و تا جایی که دیتا سورس بیاد برو و دیتا سورس رو کپی کن در کد زیر:البته از .; به بعد این دیتاسورس رو قرار بده
SqlConnection con = new SqlConnection(@"data source =.;Initial Catalog=database name

integrated security = true

البته دوست عزیز دابلکوتیشن و پرانتز بسته و سیمی کالن رو هم آخرش اضافه کن