PDA

View Full Version : حرفه ای: گرفتن پشتیبان در اسکیول اکسپرس



araz_pashazadeh
جمعه 24 اردیبهشت 1389, 21:20 عصر
با عرض سلام و خسته نباشید خدمت دوستان
من در برنامه کاربردی خودم از اسکیول اکسپرس 2008 استفاده کردم و در قسمتی که می خوام پشتیبان از پایگاه داده بگیریم خطا میده و پایگاه داده اصلی که دارم می خوام باریابی کنم خطا می ده.
آیا من باید کار خاصی یا از دستور خاصی استفاده کنم:متفکر:
ممنون میشم اگه من را در این ضمینه راهنمایی کنین.

ASKaffash
شنبه 25 اردیبهشت 1389, 08:49 صبح
سلام
اگر از برنامه کاربردی استفاده می کنید ConnectionString را قرار دهید

pezhvakco
شنبه 25 اردیبهشت 1389, 11:22 صبح
درود :
متن خطا رو نمایش بدین بهتره میشه گفت کجای کار مشکل داره .
اگه میشه کد دستور های پشتیبان گیری و برگشت اون رو قرار بدین بهتره .

فکر خوش .

esi_0o0
شنبه 25 اردیبهشت 1389, 18:47 عصر
درود :
متن خطا رو نمایش بدین بهتره میشه گفت کجای کار مشکل داره .
اگه میشه کد دستور های پشتیبان گیری و برگشت اون رو قرار بدین بهتره .

فکر خوش .
ممنون از لطفتون فقط زودتر جواب بدین همه کارها که بک آپگرفتم ضمیمه کردم

pezhvakco
یک شنبه 26 اردیبهشت 1389, 10:00 صبح
درود :
اون خطا که با توجه به متنش، میگه پایگاه داده مورد نظر (Ahan) وجود نداره و خودش گفته بهتره اول وجود اون رو امتحان کنی و بعد نوشتاری رون رو .

فکر خوش .

ASKaffash
یک شنبه 26 اردیبهشت 1389, 11:47 صبح
سلام
قبلا در تالار #C بحث شده باید از ConnectionString را عوض کنید و از AttacheDBFilename استفاده نشود

araz_pashazadeh
یک شنبه 26 اردیبهشت 1389, 13:17 عصر
همان طور که دوستمون اشاره کردن برای این مشکل جه راه حلی پیشنهاد می کنید:متفکر:
در ضمن من با استفاده از دستورات #C خواستم این کارو انجام بدم اما باز نشد هم پروژه وهم کد برنامه را براتون می زارم.
ممنون از راهنمایی شما دوستان


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ServerConnection sc = new ServerConnection();
sc.ConnectionString = "Data Source=localhost;Initial Catalog=AHAN;Integrated Security=True";
//sc.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDBFileName=|DataDirector y|\Ahan.mdf;Integrated Security=True";
sc.Connect();
sc.SqlExecutionModes = SqlExecutionModes.ExecuteAndCaptureSql;
Server s = new Server(sc);
//Microsoft.SqlServer.Management.Smo Version9
/*Backup Back = new Backup();
Back.Devices.AddDevice(@"d:\Ahan.bak", DeviceType.File);
Back.Database = "Ahan";
Back.Action = BackupActionType.Database;
Back.Initialize = true;
Back.PercentCompleteNotification = 10;
Back.PercentComplete += new PercentCompleteEventHandler(Back_PercentComplete);
Back.SqlBackup(s);*/
//Microsoft.SqlServer.Management.Smo Version10
BackupDevice BD = new BackupDevice(s, "Ahan.bak");
BD.BackupDeviceType = BackupDeviceType.Disk;
BD.PhysicalLocation = @"d:\";
BD.Create();

MessageBox.Show(s.Name + "\n" + sc.ConnectionType + "\t" +
sc.IsOpen + "\t" + sc.ServerVersion + "\t" + sc.SqlConnectionObject.ConnectionString.Trim() + "\t" +
sc.SqlExecutionModes);
}
//void Back_PercentComplete(object sender, PercentCompleteEventArgs e)
//{
// //throw new NotImplementedException();
// MessageBox.Show(e.Percent.ToString() + "% Back Up");
//}
}
}

araz_pashazadeh
یک شنبه 26 اردیبهشت 1389, 13:22 عصر
سلام
قبلا در تالار C#‎ بحث شده باید از ConnectionString را عوض کنید و از AttacheDBFilename استفاده نشود
ConnectionString چی بنویسم:متفکر:
در ضمن پایگاه داده من SQLEXPREES هستش که از ویرایش 10(2008) اون استفاده می کنم.

ASKaffash
یک شنبه 26 اردیبهشت 1389, 14:44 عصر
سلام
راه حل این مسئله :
1- با کدنویسی بانک اطلاعاتی Attach شود (در ابتدای برنامه)
2- ConnectionString تعویض شود

esi_0o0
دوشنبه 27 اردیبهشت 1389, 17:01 عصر
سلام
راه حل این مسئله :
1- با کدنویسی بانک اطلاعاتی Attach شود (در ابتدای برنامه)
2- ConnectionString تعویض شود
ممنون از اینکه تا اینجا راهنمایی کردین
اگه لطف کنین نمونه کدی برای بند اولیتون که اشاره کردین بدین. و بعد connection string باید چی بدم دوست من؟
اگه زودتر جواب بدین بیشتر محبت می کنین:خجالت::لبخندساده:

esi_0o0
سه شنبه 28 اردیبهشت 1389, 08:16 صبح
سلام
راه حل این مسئله :
1- با کدنویسی بانک اطلاعاتی Attach شود (در ابتدای برنامه)
2- ConnectionString تعویض شود
سلام
دوست من ،بنده مورد اول که شما اشاره کردین با کد زیر انجام دادم و بانک من اتچ شد ولی الان من با ید با چه کانکشن استرینگی به بانک دسترسی داشته باشم؟


SqlConnection connection = new SqlConnection("Data Source=.\\SQLEXPRESS;Integrated Security=true;AttachDBFileName=" + Application.StartupPath + "\\ahan.mdf;Integrated Security=True;User Instance=True");
try
{
connection.Open();
string str = "use master;" +
"EXECUTE sp_attach_db @dbname = N'AHAN' , " +
" @filename1 = N'" + System.Environment.CurrentDirectory + "\\Ahan.mdf'," +
"@filename2 = N'" + System.Environment.CurrentDirectory + "\\Ahan_log.ldf'";
SqlCommand cmd = new SqlCommand(str, connection);
cmd.ExecuteNonQuery();
connection.Close();
MessageBox.Show(" ¬§ Attach §ی¢ں ی« ں êيهçی¢");
}
catch (Exception x)
{
if (x.Message.IndexOf("already exists") >= 0)
MessageBox.Show(".§«¢©«ی ى §ی¢ں ی« ں êيهçی¢ ںë¤ںê ¬§");
else
MessageBox.Show(x.Message);
}



البته من خودم یه کانکشنی تعریف کردم که ارور گرفتم در ضمن پایگاه داده من windows authintication هستش.


SqlConnection Conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=AHAN;user instance = true;integrated security = true");

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

ASKaffash
چهارشنبه 29 اردیبهشت 1389, 08:21 صبح
سلام
هر ConnectionString ای به غیر ازاستفاده AttacheDBFilename مثلا :


Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=.....;server=

esi_0o0
چهارشنبه 29 اردیبهشت 1389, 10:22 صبح
سلام
هر ConnectionString ای به غیر ازاستفاده AttacheDBFilename مثلا :


Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=.....;server=

سلام
من طبق گفته شما هر کانکشنی درست می کنم به دیتابیس کانکت شم ولی متاسفانه با error که در پست قبلی ضمیمه کردم بر می خورم مشکل از چی می تونه باشه ؟

ASKaffash
چهارشنبه 29 اردیبهشت 1389, 10:34 صبح
سلام
پیام اشاره به عدم اتصال بانک به SQLServer دارد

esi_0o0
چهارشنبه 29 اردیبهشت 1389, 11:10 صبح
سلام
پیام اشاره به عدم اتصال بانک به SQLServer دارد
سلام عزیز من
من که خودم میدونم منظورش اینه ولی چی کار باید بکنم؟

ASKaffash
چهارشنبه 29 اردیبهشت 1389, 11:35 صبح
سلام
در واقع پست 11 شما اشکال دارد باید ConnectionString را عوض کنید تا Attach انجام شود تا مشکل پست 11 ر احل نکنید Restore بی فایده است