为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:服务端:8.1.0.147 客户端:8.1.1.156
【操作系统】:windows 7
【CPU】:4核心
【问题描述】*:golang 开发达梦库带参数化查询,遇到长文本字段直接报错6015【数据类型不匹配】,比如select top 5 * from FX_RUNLOG where IPADDRESS=:1,如果字段【IPADDRESS】是一个TEXT,那么直接报错,调用db.Prepare的时候
您好,目前达梦的规则是:大字段类型不支持比较和排序。
此种类型的使用,可以采用TEXT_EQUAL函数处理sql。
具体用法如下(C2为TEXT类型):
var text1 *dm.DmClob
…
db.Prepare(" select * from t_t1 WHERE text_equal(C2,?)“);
…
for rows.Next() {
if err = rows.Scan(&c1, &text1); err != nil {
fmt.Println(err)
return
}
tmpLen, _ := text1.GetLength()
c2_len, _ := strconv.Atoi(strconv.FormatInt(tmpLen, 10))
c2_str, _ := text1.ReadString(1, c2_len)
fmt.Printf(”%v %v \n", c1, c2_str)
}

您好,
由于开源框架太多,为了快速定位问题,请提供简单demo。