2010-12-03 314 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到批处理文件。为我完美工作。