2010-12-03 492 views
0

我正在VB6中開發一個項目。在一個名爲DATABASE BACKUP的菜單中,我嘗試從用戶界面(即BACKUP.frm表單)獲取數據庫備份。在SQL Server中,我試過這個&已成功執行,但從MySQL獲取備份對我而言至關重要。MySQL數據庫備份

任何解決方案?

MY SQL Server代碼

If Trim(dbName) <> vbNullString Then 
Set oDatabase = oSQLServer.Databases(dbName, Trim(txtLogin)) 
Set oBackup = New SQLDMO.Backup 

oBackup.Database = dbName     '''set database name 
oBackup.Files = Dir1.Path & "\" & dbName & ".bak"  '''file path 
oBackup.Action = SQLDMOBackup_Database  '''complete backup 
oBackup.SQLBackup oSQLServer    ''backup 
+0

我不是VB專家,所以這可能看起來很無知,但是什麼是SQLDMO?對MySQL有什麼想法嗎?通常,您可以使用`mysqldump`工具來備份MySQL服務器。 – 2010-12-03 10:07:31

回答

0

您使用SQLDMO,SQL數據管理對象,這樣做備份。該庫專門針對SQL Server +,不會與其他任何,MySQL,Oracle等無關。

對於MySql,您需要查找用於執行備份的實際SQL命令,並像通常的SQL選擇一樣通過連接對象調用它。

嗯,只是看,它看起來不像MYSQL有任何種類的SQL命令。看起來你必須shell到MYSQLDUMP.exe

0

是的...... mysqldump是解決方案,但確保它在Windows路徑或本地存在。

假設: 用戶名=根+ 密碼=根+ 數據庫進行備份稱爲主+ 要保存在C備份:\ MySQLBackups + 創建備份文件名爲main_22 @ AM .SQL

然後DOS窗口外殼命令看起來像這樣:

的mysqldump -u根-proot主> 「C:\ MySQLBackups \ [email protected]

還原有點棘手,因爲數據庫必須已經存在。如果不是,你必須先創建它。要恢復這個備份的DOS窗口shell命令是:

的mysql -u根-proot主要< 「C:\ MySQLBackups \ [email protected]

我寫這篇文章到一個批處理文件然後從我的VB6應用程序中執行一個shell到批處理文件。爲我完美工作。