SQLServer中通过ODBC建立到mysql链接服务器,查询mysql的blob类型时,显示的是二进制串,但实际上已经被隐式转换成了image类型。
例:
select convert(varchar(max),body) from openquery([LINK_MYSQL],'select body from mysql.proc;')
消息 529,级别 16,状态 2,第 1 行
不允许从数据类型 image 到 varchar(max) 的显式转换。
我们要正常显示字符串内容,就需要先将image转换成varbinary,再转成varchar,如下:
select convert(varchar(max),convert(varbinary(max),body)) from openquery([LINK_MYSQL],'select body from mysql.proc;')

本文介绍在SQLServer中通过ODBC连接MySQL时,如何正确处理BLOB类型的字段。当查询MySQL的BLOB类型数据时,由于类型不匹配会报错。文章提供了解决方案,即先将BLOB转换为VARBINARY再转为VARCHAR。

被折叠的 条评论
为什么被折叠?



