我是专业的 PHP开发人员。我在我的机器上使用 Ubuntu Linux 。
我对 .Net framework 和 MS SQL Server Express 数据库一无所知。
我收到了一个名为 project_db.bak 的文件,我必须将其转换为 project_db.sql 才能将相同的数据库导入MySQL。
我在互联网上搜索解决方案。我找到了几个答案,但他们要求使用我不能的MS SQL服务器工具。我必须以其他方式实现这种转换。
有人可以帮我这方面吗?
答案 0 :(得分:0)
MS Sql Server通常会生成二进制备份,因此您的猜测是备份。要将其恢复为“排队等待”#34;状态您将需要 MS工具或某些针对电机执行的RESTORE
声明(您将需要)。一旦它被恢复" (这与MS备份相反)您可以使用工具或脚本转储(使用MySql术语)
答案 1 :(得分:0)
创建Windows 7或更高版本的虚拟机。
在虚拟机中确保您有第二块网卡与您的主机设置为专用网络,以便您可以连接到您的主机MySQL,您将需要MySQL服务器设置中的用户,允许您的连接远程网络
在此VM安装SQL Server Management Studio
和Navicat
& 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服务器并导入该导出的文件。