SQL Server上的数据迁移文本类型

时间:2012-09-27 17:54:04

标签: sql-server data-migration grails-2.0

我正在尝试将database-migration plugin用于Grails,但我遇到了text属性类型的时髦问题。

生成基准日志将类型设置为text(255),但这是一个错误,因为没有精度。当我尝试将数据类型修改为text时,会发生同样的情况。

changeSet(author: "jgiotta (generated)", id: "1348767652354-2") {
    modifyDataType(columnName: "old_value", newDataType: "text",
        schemaName: "dbo", tableName: "audit_trail")
}

我该怎么做才能避免这个问题?

2 个答案:

答案 0 :(得分:0)

检查连接驱动程序(ODBC / JDBC)上的字符集设置 使用复制工具将NVARCHAR字段结束时,我遇到了类似的问题。 Null正被写入目标,因为ODBC驱动程序不了解带有ASCII字符映射的NVARCHAR。 简而言之,问题是复制工具使用带有ASCII字符集的ODBC驱动程序。有一次,我更改了ODBC驱动程序以使用UTF8字符集,我开始在目标上看到NVARCHAR数据。

答案 1 :(得分:0)

我通过一些额外的映射解决了它。

最初我只是在做:

static mapping = {
    oldValue type: 'text'
    //...
}

强制该类型至少为nvarchar(max)的是以下映射:

static mapping = {
    oldValue type: 'text', sqlType: 'text'
}