PDA

View Full Version : بك آپگيري اتومات از بانك اكسس با سي شارپ



jmfnima
دوشنبه 26 اردیبهشت 1390, 10:15 صبح
با سلام به همه دوستان
من يك برنامه دارم كه ديتابيس اون اكسسه ميخوام هر وقت كه برنامه رو بستم از ديتابيس من در يك مسير مشخص بك آپ گيري كنه .

Editali
سه شنبه 27 اردیبهشت 1390, 01:45 صبح
به سادگی میتونی با استفاده از System.Io دستور زیر رو تو event FormClosed توی فرم اصلی برنامه اجرا کنی:

File.Copy("SourcePath", "DestinationDirectory" + DateTime.Now.Date.ToShortDateString());

البته این کار رو میتونی توی فایل Program.cs بعد از دستور زیر هم انجاد بدی، از نظر کارایی فرقی نداره:


Application.Run(new Form1());
File.Copy("SourcePath", "DestinationDirectory" + DateTime.Now.Date.ToShortDateString());


فقط فراموش نکنی از System.Io استفاده کنی.

jmfnima
سه شنبه 27 اردیبهشت 1390, 20:42 عصر
با تشکر از شما دوست عزیز Editali به خاطر جوابی که به من دادید .

jmfnima
سه شنبه 27 اردیبهشت 1390, 23:03 عصر
دوست عزیز این کد جواب نمیده و در زمان خروج از برنامه ارور میده اگه امکانش هست کدتون رو واضح تر بنویسید شاید من دارم اشتباه می نویسم . مسیرها رو به صورت واقعی مثال بزنید . ممنون

Editali
چهارشنبه 28 اردیبهشت 1390, 02:23 صبح
با یه فایل txt تست گرفتم، مشکلی نداره

کد program.cs:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new Form1());

File.Copy("H:\\a.txt", "G:\\a.txt");
}
}
}


شاید هنوز کانکشن دیتابیس بازه، مطمئن شو که کانکشن رو بستی و در نهایت حتما کانکشن رو برای اطمینان Dispose کن.
اگر جواب نداد متن ارور رو برام بذار.

ostovarit
چهارشنبه 28 اردیبهشت 1390, 08:57 صبح
با سلام به همه دوستان
من يك برنامه دارم كه ديتابيس اون اكسسه ميخوام هر وقت كه برنامه رو بستم از ديتابيس من در يك مسير مشخص بك آپ گيري كنه .
الان مشکل شما با بک آپ گیریه ؟

تو ایونت Form_Closing میتونید کد بک آپ رو بنویسید ... البته این کار ممکنه زمان گیر باشه و برای دقیقه ای برنامه هنگ کنه ... پیشنهادم نمایش یک فرم با عنوان "برنامه در حال بک آپ گیری است " در نهایت بستن کل اپلیکیشن بعد از پایان بک اپ هست ... برای بک آپ هم سورس زیاده اگر مشکل داشتی بگو نمونه خودم رو که جواب گرفتم واست می زارم ... ولی هیچ وقت از روش های غیر متعارف مثل کپی کردن دیتابیس استفاده نکن.