0

我正在尝试为 Grails使用数据库迁移插件text,但我遇到了一个属性类型为.

生成基线日志将类型设置为text(255),但这是一个错误,因为没有精度。当我尝试将数据类型修改为text.

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

我能做些什么来避免这个问题?

4

2 回答 2

0

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

于 2012-09-27T18:04:01.970 回答
0

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

最初我只是在做:

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

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

static mapping = {
    oldValue type: 'text', sqlType: 'text'
}
于 2012-09-27T20:13:15.963 回答