αν θες να δεις ολοκληρωμενη την λυση, αν και το forum ειναι για συζητησεις και οχι για να δινουμε τον κωδικα ακριβως σε καθε προβλημα,
πρεπει να κανεις τα εξης(εγω στο δικο μου παραδειγμα θα χρησιμοποιησω την Northwind σαν την βαση που θελω να κανω back up).
υποθετω οτι εχεις καποιο απο τα visual studio και sql server(και τα express editions μια χαρα ειναι).αν θες μπορεις να ακολουθησεις το δικο μου παραδειγμα και μετα να δεις πως γινεται με την δικη σου βαση.
1)ανοιγεις τον sql server και τρεχεις τα scripts που εγκαθιστουνε την northwind βαση. τα scripts αυτα μπορεις να τα βρεις στο Link
http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46A0-8DA2-EEBC53A68034&displaylang=en
2) αφου κανεις την northwind την current database δημιουργεις το stored procedure που θα κανει το back up. Φτιαξε ενα folder στο c:\ με ονομα "backup"
create
procedure BackupDb
as
backup
database northwind to disk=N'c:\backup\northwind.bak'
3) κανε execute την sp- exec BackupDb - επιβεβαιωσε οτι οντως γινεται backup στον φακελο backup Και σβησε το Northwind.bak αρχειο
4) ανοιξε στο visual studio ενα νεο asp.net web site ,διαλεξε γλωσσα VB Και Location:File System
5) Drag and drop ενα button web server control στην deafult.aspx σελιδα
6) κανε διπλο κλικ στο Button και βαλε μεσα στο event handling ρουτινα τον εξης κωδικα
Dim connstring As String = "Data Source=ACER5680\sqlexpress;Initial Catalog=Northwind;Integrated Security=True"
Dim _conn As New System.Data.SqlClient.SqlConnection(connstring)
Dim _comm As New System.Data.SqlClient.SqlCommand("backupdb", _conn)
_comm.CommandType = Data.CommandType.StoredProcedure
_conn.Open()
Dim x As String = _comm.ExecuteNonQuery()
_conn.Close()
παρατηρηση:
εδω βαζω το connection string Για τον δικο μου server. εσυ εδω θα πρεπει να βαλεις το δικο σου connection string. κατι παρομοιο με αυτο....
βεβαια η καλυτερη τεχνικη(professionally speaking) ειναι να βαλεις το connection string στο web.config Και οχι μεσα στην ρουτινα αλλα και ετσι δουλευει
Dim connstring As String = "Data Source=ACER5680\sqlexpress;Initial Catalog=Northwind;Integrated Security=True"
βαλε ενα Break point στην πρωτη γραμμη μεσα στην ρουτινα και τρεξε με f10 Γραμμη-γραμμη τον κωδικα να δεις τι κανει.
hope it helps
Νικόλαος Καντζέλης
BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT