【问题标题】:MySQL import data from SQL Server export fileMySQL 从 SQL Server 导出文件导入数据
【发布时间】:2014-01-16 13:32:58
【问题描述】:

我需要将之前从 SQL Server 2008 数据库中导出的一些数据导入 MySQL 数据库。

SQL Server 导出已制作成 SQL 文件,导出文件格式如下:

INSERT [table1] ([column1], [column2], [column3]) VALUES (1351801, 1548565, N'/*******************************************************************************
 *
 *******************************************************************************/

package chap1;

public class Main {
    public static void main(String[] args) {
        System.out.println("lala");
    }
}
')
INSERT [table_name] ([column1], [column2], [column3]) VALUES (1351851, 154865, N'/*******************************************************************************
 *
 *******************************************************************************/

package chap2;

public class Implementation1 implements Interface1 {

    @Override
    public void go() {
    }

}
')

请注意,column3 包含一些 Java 源代码。

我尝试使用以下命令将此数据加载到 MySQL:

source table1_export.sql;

当然,我注意到这不是 MySQL 插入语法,我已尝试将其更改为正确的 MySQL 语法。但是,这在加载 column3 的数据时也会失败,其中包含 Java 代码并且可能包含一些 MySQL 不喜欢的特殊字符。

我可以做些什么来将文件中的数据加载到 MySQL 中?

【问题讨论】:

标签: mysql sql sql-server database data-import


【解决方案1】:

使用 Mysql 导入服务,您可以从 .sql 数据库转储文件轻松实现此目的。

String jdbcConnectionUrl = "jdbc:mysql://localhost:3306/yourDatabaseName?useSSL=false";

try {
            String sql = new String(Files.readAllBytes(Paths.get("your .sql dump file path")));
            MysqlImportService service = MysqlImportService.builder()
                .setDatabase(databaseName)
                .setSqlString(sql)
                .setUsername('your database username)
                .setPassword('your database password')
                .setDeleteExisting(true)
                .setDropExisting(true)
                .setJdbcDriver(configuration.getDriver())
                .setJdbcConnString(jdbcConnectionUrl).build();
            service .importDatabase();
        }
        catch (IOException | SQLException | ClassNotFoundException e) {
            e.printStackTrace();
         }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多