我正在用VB6开发一个项目。在一个名为DATABASE BACKUP的菜单中,我尝试从用户界面(即BACKUP.frm表单)进行数据库备份。在SQL Server中我试过这个&成功执行,但从MySQL中获取备份对我来说有点关键。
任何解决方案?
我的SQL服务器代码
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 :(得分:0)
您正在使用SQL数据管理对象SQLDMO来执行该备份。该库是+专门用于SQL Server的+,不能用于其他任何东西,mysql,oracle,等等。
对于MySql,您需要查找用于执行备份的实际SQL命令,并像通常的SQL选择一样通过连接对象调用它。
嗯,只是看起来并不像MYSQL有任何类型的SQL命令。看起来你必须shell到MYSQLDUMP.exe
答案 1 :(得分:0)
是的... mysqldump是解决方案,但要确保它在Windows路径中或在本地存在。
假设: username = root + 密码= root + 要备份的数据库称为main + 您想要将备份保存在C:\ MySQLBackups +中 要创建的备份文件名为main_22@AM.sql
然后DOS Window shell命令如下所示:
mysqldump -u root -proot main&gt; “C:\ MySQLBackups \ main_22@AM.sql”强>
还原有点棘手,因为数据库必须已经存在。如果没有,您必须先创建它。要恢复此备份,DOS窗口shell命令为:
mysql -u root -proot main&lt; “C:\ MySQLBackups \ main_22@AM.sql”强>
我将其写入批处理文件,然后从我的VB6应用程序中执行批处理文件的shell。适合我。