注册

Golang读取Text字段,长数据无法读出

Big倩 2024/04/01 545 1

【DM版本】:DM Database Server 64 V8 03134283968-20230103-178822-20033
【操作系统】:麒麟v10
【CPU】:
【问题描述】*:
使用golang查询达梦数据库text字段时,短字段可以读出,2849长度的字段读出为空字符串。
直接使用string 无法读出数据,遂使用dm.DmClob。使用clob读取,getLength得到的长度是正确,但是ReadString失败,报错EOF。
短的数据是可以直接读出的

代码如下:

// dic_value是TEXT字段 var preSql = "SELECT dic_value FROM i_data_dic WHERE dic_type=%s and dic_name=%s" rows, err = db.Query(fmt.Sprintf(preSql, "?", "?"), dicType, dicName) for rows.Next() { var tmp dm.DmClob rows.Scan(&tmp) //长度正确 len,_ := tmp.GetLength() fmt.Printf("%v %v\n",tmp, len) value ,err = tmp.ReadString(1,int(len)) //报错EOF fmt.Print(err) if value != "" { break } }
回答 0
暂无回答
扫一扫
联系客服