为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:
使用达梦golang驱动,text类型会被映射成dm.DmClob。
平时string用的比较多,写了一个扩展,基本思路是:先用dm.DmClob把接收,然后再调用ReadString方法获取字符串赋值.
这里写了一个场景,只要调用ReadString就会出现错误。
烦请各位技术大佬一块找下bug原因,非常感谢!!
异常 :复现代码可以发送给你们
达梦版本:8.1.1.126
错误信息:
dmClob.GetLength()的异常: Error -3433: 表空间处于脱机状态
stack info:
1). gitee.com/chunanyong/dm.(*dm_build_138).dm_build_171
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/dm@v1.8.0/zp.go:345
2). gitee.com/chunanyong/dm.(*dm_build_138).dm_build_128
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/dm@v1.8.0/zp.go:332
3). gitee.com/chunanyong/dm.(*dm_build_138).dm_build_131
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/dm@v1.8.0/zp.go:382
4). gitee.com/chunanyong/dm.(*dm_build_1285).dm_build_1324
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/dm@v1.8.0/a.go:239
5). gitee.com/chunanyong/dm.(*dm_build_1285).dm_build_1443
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/dm@v1.8.0/a.go:539
6). gitee.com/chunanyong/dm.(*lob).GetLength
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/dm@v1.8.0/zm.go:80
7). n9e.CustomDMText.ConverDriverValue
d:/golang/gopath/src/gitee.com/chunanyong/n9e/zorm.go:111
8). gitee.com/chunanyong/zorm.QueryMapSlice
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/zorm@v1.4.1/DBDao.go:839
9). n9e.TestEventCurGetsTest
d:/golang/gopath/src/gitee.com/chunanyong/n9e/sqlRowsValues_test.go:21
10). testing.tRunner
D:/golang/goroot/src/testing/testing.go:992
11). runtime.goexit
D:/golang/goroot/src/runtime/asm_amd64.s:1373
– dmClob.ReadString(1, dmlenInt)的异常: Error 6057: 长度或偏移错误
stack info:
1). gitee.com/chunanyong/dm.(*DmClob).getSubString
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/dm@v1.8.0/n.go:207
2). gitee.com/chunanyong/dm.(*DmClob).ReadString
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/dm@v1.8.0/n.go:96
3). n9e.CustomDMText.ConverDriverValue
d:/golang/gopath/src/gitee.com/chunanyong/n9e/zorm.go:114
4). gitee.com/chunanyong/zorm.QueryMapSlice
D:/golang/gopath/pkg/mod/gitee.com/chunanyong/zorm@v1.4.1/DBDao.go:839
5). n9e.TestEventCurGetsTest
d:/golang/gopath/src/gitee.com/chunanyong/n9e/sqlRowsValues_tes
这里是错误产生代码包:在达梦技术3群里面。名字:n9e.zip
首先,请确认表空间是否正常online
其次dm的text类型是和clob一样的只能存字符串,可以看下sql手册
最后怀疑是因为表空间脱机导致GetLength取不到数导致后续错误的,能否提供表空间状态截图?
请问博主,您是具体怎么实现text查询为string的
请问这个问题有最终解决吗,我也遇到了同样的问题
没有大佬看到这个帖子吗 ? 求关注~~~