Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将mySql SQL脚本转换为MS SQL one?_Mysql_Sql_Sql Server - Fatal编程技术网

如何将mySql SQL脚本转换为MS SQL one?

如何将mySql SQL脚本转换为MS SQL one?,mysql,sql,sql-server,Mysql,Sql,Sql Server,我必须将客户MySql数据库模式/数据迁移到MS SQL SERVER 2008。最后,我收到了70 Mb的SQL文件,该文件使用mySQL方言,与MSSQL不兼容 DROP TABLE IF EXISTS `kladr`; CREATE TABLE `kladr` ( `id` int(11) NOT NULL DEFAULT '0', `idp` int(11) DEFAULT NULL, ... 我花了一周的时间才收到这样一个文件,所以我不敢要求mySQL管理员向我发送与MS S

我必须将客户MySql数据库模式/数据迁移到MS SQL SERVER 2008。最后,我收到了70 Mb的SQL文件,该文件使用mySQL方言,与MSSQL不兼容

DROP TABLE IF EXISTS `kladr`;
CREATE TABLE `kladr` (
  `id` int(11) NOT NULL DEFAULT '0',
  `idp` int(11) DEFAULT NULL,
...

我花了一周的时间才收到这样一个文件,所以我不敢要求mySQL管理员向我发送与MS SQL SERVER兼容的SQL。有没有办法将mySQL方言自动转换为MSSQL服务器方言

最简单的方法是获得一个转换器。有多种选择可供选择,但可能很难找到一个好的选择:有很多垃圾选项可供选择,当然都要花钱

Microsoft有一个在线迁移手册:

您将需要一些mysql工具和一些mssql工具,如上链接所述

添加一个简短的练习:
如果您签出名为“使用数据加载”的部分。allready拥有的导出文件可能很好,因此可以跳过“生成mysqldump数据提取脚本”

现在,您需要的部件:

使用SQL查询分析器提取的脚本
生成的脚本现在可以用于创建数据库对象和插入数据。从MySQL脚本构建数据库架构的首选方法是使用SQL Server 2000附带的SQL查询分析器工具。
您可以直接从“开始”菜单或SQL Server Enterprise Manager内部运行SQL查询分析器。您还可以通过执行isqlw实用程序从命令提示符运行SQL查询分析器。
为了让脚本正确执行,还需要做一些额外的工作,这涉及到对SQL方言的某些更改。另外,请记住遍历SQL脚本并将数据类型更改为与SQL Server兼容的类型。下图显示了从mysqldump导入的脚本,需要注意的是,转储是一个ASCII脚本文件


有几种方法可以测试SQL中是否存在表。这里有一种方法

if object_id('<table>','U') is not null  drop <table>
按照这种语法。请注意,还有其他方法可以查看表是否也存在

另外,MS-SQL不使用`(backtick)字符,因此您需要去掉所有字符。但是,当前被反勾号包围的一些字段/表名可能是保留字,在这种情况下,您需要使用带括号的[fld_name]分隔这些字段/表

您可能还会在createtable语法中遇到一些差异,而且基本语法也是类似的。上面的示例将在MS-SQL中工作


您可以通过脚本编辑来完成,但我强烈建议您使用上面Nanne建议的链接。好运

SQLines提供了一些工具和服务,帮助您将数据、数据库模式(DDL)、视图、存储过程和函数、触发器、查询、嵌入式SQL语句和SQL脚本从MySQL传输到Microsoft SQL Server


您可以从收到的MySQL脚本(重新)创建MySQL数据库,并使用数据库转换工具。我过去用过,效果很好。支持多个数据库,速度非常快

我想他只是想转换sql脚本,不知道mysql的连接细节,比如主机和acct(像我一样,我现在需要获取wordpress博客。如果你查看该链接,你会发现标题“使用数据加载”。OP allready的导出文件就是你需要连接详细信息的文件,如“生成mysqldump数据提取脚本”部分所述。因此,你可以跳过该步骤,从那里开始。你找到一个好的解决方案了吗解决方案?我也需要这个。编辑器不再转换了-你可以粘贴MySQL等,但当你按convert时什么都不会发生。这对我来说很有效。也许你没有更改目标类型。这件事有很多错误!每当我转换MySQL数据库时,都会有很多错误Microsoft还为co提供了一套免费的转换工具正在转换到SQL Server。有一个用于MySQL
DROP TABLE IF EXISTS `kladr`;