نمایش نتایج 1 تا 4 از 4

نام تاپیک: پشتیبان گیری اتوماتیک از بانک اطلاعاتی SQL2000در vb.net

  1. #1

    Angry پشتیبان گیری اتوماتیک از بانک اطلاعاتی SQL2000در vb.net

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


  2. #2
    کاربر دائمی آواتار DoDoklak
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شهر 3500 ساله
    پست
    320

    نقل قول: پشتیبان گیری اتوماتیک از بانک اطلاعاتی SQL2000در vb.net

    جهت اينکار ابتدا بايد پوشه محل قرار گیری نسخه پشتیبان را بسازید که احتیاج به دوتا تابع دارید

    اولی تابعی برای گرفتن تاریخ شمسی


    PublicFunction GetDate() AsString
    Try
    Dim ps AsNew Globalization.PersianCalendar()
    Dim y AsString = ps.GetYear(DateTime.Now)
    Dim m AsString = ps.GetMonth(DateTime.Now)
    Dim d AsString = ps.GetDayOfMonth(DateTime.Now)
    If y.Length <= 1 Then y = "0" + y
    If m.Length <= 1 Then m = "0" + m
    If d.Length <= 1 Then d = "0" + d
    Return y & "/" & m & "/" & d
    Catch ex As Exception
    Return ""
    EndTry
    EndFunction


    دومی تابعی برای ساختن پوشه با تاریخ و ساعت


    PrivateFunction CreatePath(ByVal path AsString) AsString
    Try
    Dim t_time AsString = GetDate().Replace("/", "-") & " " & Date.Now.ToLongTimeString.Replace(":", "-")
    If path(path.Length - 1) <> "\" Then
    Directory.CreateDirectory(path + "\" + t_time)
    Return path + "\" + t_time
    Else
    Directory.CreateDirectory(path + t_time)
    Return path + t_time
    EndIf
    Catch ex As Exception
    Return ""
    EndTry
    EndFunction


    بعد با کد زیر پشتیبان را میگیرید


    Dim str_path AsString = CreatePath(backPath)
    Dim SqlCon AsNew SqlConnection("Data Source=LocalHost;User ID=;Password=")
    If SqlCon.State <> ConnectionState.Open Then SqlCon.Open()
    Using CMD AsNew SqlCommand("BACKUP DATABASE DBName TO DISK = N'" & str_path & "\Info.BAK', SqlCon)
    CMD.CommandTimeout = 0
    CMD.ExecuteNonQuery()
    EndUsing
    If SqlCon.State <> ConnectionState.Closed Then SqlCon.Close()

  3. #3
    کاربر دائمی آواتار mansourii
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران
    پست
    299

    نقل قول: پشتیبان گیری اتوماتیک از بانک اطلاعاتی SQL2000در vb.net


  4. #4
    کاربر دائمی آواتار mansourii
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران
    پست
    299

    نقل قول: پشتیبان گیری اتوماتیک از بانک اطلاعاتی SQL2000در vb.net

    با این کد هم میتونید در اجرای برنامه بدون اینکه فایل پشتیبان رو Restore کنید /بصورت اتومات Restore بشه
    Imports System.Data.SqlClient
    Public Class FrmAttachDB
    Dim constatus As Boolean = False
    Dim con As SqlConnection

    Private Sub FrmAttachDB_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If My.Computer.FileSystem.DirectoryExists("C:\databas e") = False Then
    My.Computer.FileSystem.CreateDirectory("C:\Databas e")
    End If
    DropDatabase()
    CopyDB()
    AttachDB()
    Me.Close()
    End Sub

    Function AttachDB() As Boolean
    ConOpen()
    Dim cmd As New SqlCommand()
    Dim txt As String

    txt = "sp_attach_db @dbname = N'MyDatabase', " & vbCrLf & _
    "@filename1 = N'C:\Database\MyDatabase.MDF', " & vbCrLf & _
    "@filename2 = N'C:\Database\MyDatabase_log.LDF'"

    cmd.CommandText = txt
    cmd.Connection = con
    cmd.ExecuteNonQuery()
    End Function

    Public Sub ConOpen()
    Try
    constatus = True
    con = New SqlConnection("Data Source=.;Initial Catalog=master;Integrated Security=True")
    con.Open()
    Catch ex As Exception
    constatus = False
    End Try
    End Sub
    Function DropDatabase() As Boolean
    Dim cn As New SqlClient.SqlConnection
    cn.ConnectionString = _
    "Server=localhost;" & _
    "DataBase=Master;" & _
    "Integrated Security=SSPI;" & _
    "data source=(local)"
    Dim CreateDBCommand As New SqlClient.SqlCommand
    CreateDBCommand.Connection = cn
    CreateDBCommand.CommandText = "IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'MyDatabase') " & _
    "DROP DATABASE [MyDatabase]"
    cn.Open()
    Try
    CreateDBCommand.ExecuteNonQuery()
    Catch Ex As Exception
    End Try
    cn.Close()
    Return True
    End Function
    Function CopyDB() As Boolean
    My.Computer.FileSystem.CopyFile(My.Application.Inf o.DirectoryPath + "\Database\MyDatabase.mdf", "C:\Database\MyDatabase.mdf", True)
    My.Computer.FileSystem.CopyFile(My.Application.Inf o.DirectoryPath + "\Database\MyDatabase_log.ldf", "C:\Database\MyDatabase_log.ldf", True)
    End Function
    End Class

    به شرطی که MDF و LOG دیتا بیستون در یک پوشه ای بنام Database در کنار برنامتون ذخیره کنید.

قوانین ایجاد تاپیک در تالار

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