0

一直在研究将 MSSQL 转换为 MYSQL。对我来说最好的选择是使用 MSSQL.sql 并使用 PhpMyAdmin 导入它。

以下帖子和链接很有帮助:

如何将 SQL Server 数据库导出到 MySQL?

如何将 SQL Server 数据库转换为 MySQL 数据库

http://forums.eukhost.com/f15/how-create-sql-file-mssql-database-created-sql-server-express-12514/#.UO68SHOLJ8s

但是当我尝试这样做时,它似乎失败并出现以下错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法

这发生在 .sql 文件的各个点,例如:

使用 [充电]

/****** 对象:表 [dbo].[CountryNm] 脚本日期:01/10/2013 13:28:42 ******/

这看起来像是 MSSQL.sql 文件的基本部分。我曾尝试从文件中删除 USE 和 GO,但随后停在评论处。我还没有删除这些,因为我在想我所做的事情可能从根本上是错误的?

我将 PhpMyAdmin 设置为 Format: SQL, Format-Specific Options: MSSQL 和 Do not use AUTO_INCREMENT for zero values: Checked。

提前谢谢了

编辑:MSSQL Server Management Studio 脚本向导选项:

ANSI 填充:真

附加到文件:错误

继续编写错误脚本:错误

将 UDDT 转换为基本类型:False

为依赖对象生成脚本:False

包括描述性标题:真

包括如果不存在:假

包括系统约束名称:False

架构质量对象名称:真

脚本绑定:假

脚本整理:真

脚本默认值:真

脚本丢弃:错误

脚本扩展属性:True

服务器版本的脚本:SQL Server 2008

脚本登录:假

脚本对象级权限:False

脚本使用数据库:错误

脚本更改跟踪:错误

脚本检查约束:真

脚本日期:真

脚本数据压缩选项:False

脚本外键:真

脚本全文索引:错误

脚本索引:错误

脚本主键:真

4

2 回答 2

0

没有GO关键字,它是仅用于 SSMS/OSQL 和其他一些 MS 产品的脚本拆分器(可从选项中自定义)。

在 MYSQL 中更改数据库的USE语句应该没问题 - 请参阅此处以获取参考。尝试换成GO分号来结束语句。

根据文档,这种类型的评论也适用于 Mysql。

考虑到这两个因素,试试这个语句:

USE [Charging];

/* Object: Table [dbo].[CountryNm] Script Date: 01/10/2013 13:28:42 */
于 2013-01-10T14:29:23.420 回答
0

嗯,这是一个特别痛苦的练习,但我设法让 MSSQL 数据库迁移到 MSSQL,这是最终目标。但不要走乍一看似乎最简单的使用 PhpMyAdmin 的路线。

MSSQL 服务器是隔离的,所以我必须备份数据库(.BAK 文件)并在我的本地计算机上安装 MSSQL 服务器 2008 express。在我的 Windows 7 专业 PC 上单独安装 Microsoft SQL Management Studio Express 时遇到了很多麻烦,但通过安装 MSSQL server 2008 高级服务解决了这个问题。然后我将备份恢复到那个。不确定这是否需要,但我还安装了 MYSQL ODBC 驱动程序。

然后我安装了 SQL Data Examiner 2012。这让我可以同时连接到本地 MSSQL 实例和远程 MYSQL DB。然后我可以将表添加到 MYSQL DB 并运行同步。幸运的是,这样做似乎突出了为什么我可能在使用 PhpMyAdmin 导入时遇到问题,其中大多数似乎是 MYSQL 不喜欢的超过 16 列的表!

嗯,它仍然是成功的,在某种程度上,我能够在我导出的几个表中删除很多列 - 希望对处于相同情况的其他人有用。

于 2013-01-11T00:37:39.903 回答