PDA

View Full Version : سوال: backup , Restore کردن در بانک اطلاعاتي LINQ To SQL Classes



Pr0gr@mmer
جمعه 21 مهر 1391, 22:42 عصر
درود بر شما
چه Stored Procedures بايد بنويسم تا بتونم از بانکم پشتيبان بگيرم و اون رو Restore کنم؟
و همچنين چگونه اون رو در فرم فراخواني کنم و از اونا استفاده کنم؟


لطفا به صورت مبتديانه توضيح دهيد.+ يک نمونه هم ضميمه کنيد...


پيشاپيش از راهنمايي اساتيد گرامي تشکر ميکنم و سپاس گزارم...

Nima7887
یک شنبه 23 مهر 1391, 09:43 صبح
براي قسمت ديتابيس اون براي شروع چند تا كد پيشنهاد مي دم
نمونه براي بك آپ گيري
BACKUP DATABASE 'YourDBName' TO DISK = 'C:\backup.bak'
نمونه براي ري استور

RESTORE DATABASE 'YourDBName'
FROM DISK = 'C:\backup.bak'
WITH
FILE = 1,
NOUNLOAD,
REPLACE,
STATS = 10

Pr0gr@mmer
یک شنبه 23 مهر 1391, 10:07 صبح
سلام ممنون از شما
ولي اين رو کجا بنويسم قبلا هم تو باتن نوشتم و خطا گرفته

لطفا بيشتر توضيح بديد
ممنون

حسین شهریاری
یک شنبه 23 مهر 1391, 10:12 صبح
از طریق cmd مثل یه دستور DDL و در انتها متد ExecuteNonQuery

Pr0gr@mmer
یک شنبه 23 مهر 1391, 10:19 صبح
سلام
دوستان بيشتر توضيح بديد لطفا من مبتديم تو سي شارپ

الان چي کار کنم؟!:لبخند:

malihehshajari
یک شنبه 23 مهر 1391, 10:24 صبح
اینجوری باید بنویسید

SqlConnection cnt = new SqlConnection();
cnt.ConnectionString = "Initial Catalog=db_name;Integrated Security=False;Persist Security Info=True;Data Source=server_name";
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnt;
cmd.CommandText ="BACKUP DATABASE 'db_name' TO DISK = 'C:\backup.bak'"
cnt.Open();
cmd.ExecuteNonQuery();
cnt.Close();

Pr0gr@mmer
یک شنبه 23 مهر 1391, 10:32 صبح
اینجوری باید بنویسید

SqlConnection cnt = new SqlConnection();
cnt.ConnectionString = "Initial Catalog=db_name;Integrated Security=False;Persist Security Info=True;Data Source=server_name";
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnt;
cmd.CommandText ="BACKUP DATABASE 'db_name' TO DISK = 'C:\backup.bak'"
cnt.Open();
cmd.ExecuteNonQuery();
cnt.Close();
ممنون از شما
ولي اين چي بود backup?
و اينکه پس LINQ چي ميشه؟
از اين خطا ميگيره
cnt.Open();


من فقط ميخوام از اطلاعات DataGrid View پشتيبان تهيه کنه و اون رو بازگرداني کنه!

malihehshajari
یک شنبه 23 مهر 1391, 10:36 صبح
شما گفتید میخواید از بانک پشتیبان بگیرید این دستور هم همین کار رو میکنه از کل بانکتون پشتیبان میگیره
در ضمن خطا هم بخاطر اینه که شما باید بجای db_name اسم دیتابیس خودتون رو بذارید و بجای server_name هم اسم کامپیوتری که روش اس کیو ال نصب هست رو

Pr0gr@mmer
یک شنبه 23 مهر 1391, 10:39 صبح
شما گفتید میخواید از بانک پشتیبان بگیرید این دستور هم همین کار رو میکنه از کل بانکتون پشتیبان میگیره
در ضمن خطا هم بخاطر اینه که شما باید بجای db_name اسم دیتابیس خودتون رو بذارید و بجای server_name هم اسم کامپیوتری که روش اس کیو ال نصب هست رو

بله
ولي من همينکار رو کردم اسم ديتا بيسم که اينه گزاشتم :DB_Project_LINQ.mdf
و هم اسم Server رو ولي باز خطا ميگيره!

http://s3.picofile.com/file/7527245913/LINQ.gif

malihehshajari
یک شنبه 23 مهر 1391, 10:40 صبح
بله
ولي من همينکار رو کردم اسم ديتا بيسم که اينه گزاشتم :DB_Project_LINQ.mdf
و هم اسم Server رو ولي باز خطا ميگيره!

.mdf رو نباید بنویسید فقط اسم دیتابیس رو بذارید

Pr0gr@mmer
یک شنبه 23 مهر 1391, 10:51 صبح
.mdf رو نباید بنویسید فقط اسم دیتابیس رو بذارید

mdf رو هم پاک کردم بازم خطا گرفت...

تصوير رو ببينيد تو پست 11 که قبلا گزاشتم.
الان باز mdf رو حذف کردم ولي ارور داره...

malihehshajari
یک شنبه 23 مهر 1391, 10:52 صبح
mdf رو هم پاک کردم بازم خطا گرفت...

تصوير رو ببينيد تو پست 11 که قبلا گزاشتم.
الان باز mdf رو حذف کردم ولي ارور داره...
اسم سرورتون رو نشناخته اون رو چی گذاشتید؟ بجای اسم سرورتون . (دات) بذارید ببینید درست میشه

Pr0gr@mmer
یک شنبه 23 مهر 1391, 11:13 صبح
اسم سرورتون رو نشناخته اون رو چی گذاشتید؟ بجای اسم سرورتون . (دات) بذارید ببینید درست میشه


نه نشد دوباره
همونطور که فرمودين عمل کردم

malihehshajari
یک شنبه 23 مهر 1391, 11:15 صبح
خواهش میکنم
میشه کدتون رو بذارید ببینم
در ضمن دیتابیستون username,pass داره؟
از چه اس کیو الی استفاده میکنید؟

Pr0gr@mmer
یک شنبه 23 مهر 1391, 11:24 صبح
خواهش میکنم
میشه کدتون رو بذارید ببینم
در ضمن دیتابیستون username,pass داره؟
از چه اس کیو الی استفاده میکنید؟
نه پسوورد نداره
براتون آپلود کردم پروژم رو با حجم 300 KB :خجالت::قلب:
http://s3.picofile.com/file/7527278816/DatabaseLINQ.rar.html

Nima7887
یک شنبه 23 مهر 1391, 13:48 عصر
خب چرا از ابتدا نمي گيد مي خوايد از فقط همين جدول بك آپ داشته باشيد اگه به متن خودتون نگاه كنيد شما از ديتابيس نام برديد
بنظر من براي اين كار بايد يه جدول اضافه با ساختار مشابه داشته باشيد -- بك آپ يك جدول يك جدوله ديگه هست -- يه جدول
temp
هر موقع كار تموم شد داده ها را به جدول اصلي انتقال بديد يا اونها رو آپديت كنيد
البته اگه بگيد دقيقا اين چيزا رو برا چي مي خوايد شايد راهنمايي بهتري دريافت كنيد

Pr0gr@mmer
یک شنبه 23 مهر 1391, 14:25 عصر
من ميخوام از جدول ي از بانکم پشتيبان بگيرم و بعد بتونم اونو ريستور کنم تو برنامه
مهندس malihehshajari دارن من رو راهنمايي ميکنن ،به نتايج خوبي رسيديم
ببينيم مشکل اين LINQ حل ميشه يا نه

من از ايشون سپاس گزارم و همچنين از شما