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;')