如何将'.bak'文件转换为'.sql'文件,以便在MySQL phpMyAdmin中导入数据库?

时间:2016-04-18 10:52:24

标签: mysql sql-server database sql-server-2008

我是专业的 PHP开发人员。我在我的机器上使用 Ubuntu Linux

我对 .Net framework MS SQL Server Express 数据库一无所知。

我收到了一个名为 project_db.bak 的文件,我必须将其转换为 project_db.sql 才能将相同的数据库导入MySQL。

我在互联网上搜索解决方案。我找到了几个答案,但他们要求使用我不能的MS SQL服务器工具。我必须以其他方式实现这种转换。

有人可以帮我这方面吗?

2 个答案:

答案 0 :(得分:0)

MS Sql Server通常会生成二进制备份,因此您的猜测是备份。要将其恢复为“排队等待”#34;状态您将需要 MS工具或某些针对电机执行的RESTORE声明(您将需要)。一旦它被恢复" (这与MS备份相反)您可以使用工具或脚本转储(使用MySql术语)

答案 1 :(得分:0)

创建Windows 7或更高版本的虚拟机。

在虚拟机中确保您有第二块网卡与您的主机设置为专用网络,以便您可以连接到您的主机MySQL,您将需要MySQL服务器设置中的用户,允许您的连接远程网络

在此VM安装SQL Server Management StudioNavicat&amp; Navicat之后,您可以恢复.bak文件。你将需要另一个外部工具,允许你导出为另一种格式我使用<?php class DnDPayment extends ObjectModel { public $id_dnd_payments; public $bank; public $payer; public $amount; public $reference; public $date_add; public static $definition_array = array( 'table' => 'dnd_payments', 'primary' => 'id_dnd_payments', 'multilang' => false, 'fields' => array( 'bank' => array('type' => self::TYPE_STRING, required => true), 'payer' => array('type' => self::TYPE_STRING, required => true), 'amount' => array('type' => self::TYPE_STRING, required => true), 'reference' => array('type' => self::TYPE_STRING, required => true), 'date_add' => array('type' => self::TYPE_STRING, required => true) ) ); public static function savePayment($bank, $payer, $amount, $reference) { $logger = new FileLogger(0); $logger->setFilename(_PS_ROOT_DIR_ . "/log/debug.log"); $logger->logDebug($bank . ' :: ' . $payer . ' :: ' . $amount); Db::getInstance()->insert('dnd_payments', array( 'bank' => $bank, 'payer' => $payer, 'amount' => $amount, 'reference' => $reference, 'date_add' => date('Y-m-d H:i:s') )); } } 导出是另一种格式。然后,您可以连接到MySQL服务器并导入该导出的文件。