![X_NESVHLA6T`71A[BHUVI$S.png](https://static.studygolang.com/210519/ae19135aacab1599d8fd6c14d5f19fea.png)
如图所示,SQL存在BLOB字段时,SQL执行成功,但是却不能获取到数据。
将BLOB字段移除,程序可以正常获取数据。
这到底是我用错了,还是golang的bug?
<a href="/user/jarlyyn" title="@jarlyyn">@jarlyyn</a> 直接走oci8会好点,odbc尝试过,没有找到合适的
#5
更多评论
代码如图
os.Setenv("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.AL32UTF8")
var strConn = "ilasunion2" + "/" + "ilasunion2" + "@" + "ilas"
db, err := sql.Open("oci8", strConn)
if err != nil{
fmt.Println("连接数据库失败:", err)
return
}
defer db.Close()
//writeTable(db, "biblios")
//mrcc是blob字段
rows, err := db.Query("select recno, mrcc from biblios where rownum<10")
if err != nil{
fmt.Println("查询失败")
return
}
defer rows.Close()
//如果有blob字段,则不会进入Next,没有blob字段,可以正常进入
for rows.Next(){
var strMarc []byte
var strRecno string
rows.Scan(&strRecno, &strMarc)
fmt.Println(strMarc)
}
#1
已解决,原因:
我的oci8驱动,地址:github.com/wendal/go-oci8
可行的oci8驱动,地址:github.com/mattn/go-oci8
#2