insert RubisDatabse.dbo.MI_Member ( HeadPicture, UndeMemberCode )
select CONVERT(varchar(MAX), CONVERT(varbinary(MAX), N'MIPicture')),
CONVERT(varchar(MAX), CONVERT(varbinary(MAX), N'MIUnderWrite'))
from RubisHE.dbo.MemberInfo上述语句,两个不同数据库中A表 值添加到B表中,将 Image类型转换为 varchar类型,执行语句时,报错:
将截断字符串或二进制数据。
语句已终止。
请问,为什么,这样转换有误吗? 应该怎样转换啊?
select CONVERT(varchar(MAX), CONVERT(varbinary(MAX), N'MIPicture')),
CONVERT(varchar(MAX), CONVERT(varbinary(MAX), N'MIUnderWrite'))
from RubisHE.dbo.MemberInfo上述语句,两个不同数据库中A表 值添加到B表中,将 Image类型转换为 varchar类型,执行语句时,报错:
将截断字符串或二进制数据。
语句已终止。
请问,为什么,这样转换有误吗? 应该怎样转换啊?
我是在弄数据,把两个数据库里面的表数据整理到一块去,所以才做这个. image里面存的二进制的数据. 那怎么转换呀
你的这个查询:
select CONVERT(varchar(MAX), CONVERT(varbinary(MAX), N'MIPicture')),
CONVERT(varchar(MAX), CONVERT(varbinary(MAX), N'MIUnderWrite'))既然是将一个常量进行变换,那后面要 from RubisHE.dbo.MemberInfo 干什么?而且,为什么要把那两个字符串转换两次呢?意义何在?另外,你的这个语句插入错误,可能是由于你的表 MI_Member ( HeadPicture, UndeMemberCode ) 中的两个字段不是 varchar(max) 型的,因为你在查询中把那两个列转为 varchar(max)型的了.
@UserID int,
@IsSolve bit,
@ErrorType nvarchar(50),
@TableName nvarchar(20)
AS
declare @sql nvarchar(300)
set @sql='select BuildErrorID,UserID,ErrorType,ErrorDescription,ReaSon,StandardAS,Measures,IsSolve,RecordName,Score,AddDate from '+@TableName+'
where UserID='+CONVERT(nvarchar,@UserID)+' and IsSolve=@IsSolve and ErrorType='''+@ErrorType+''''
exec sp_executesql @sql,N'@IsSolve bit',@IsSolve=@IsSolve楼主可以看看这个实例 这个也是不能转换数据的
最常规解决办法是,存你image的路径,楼主那样做不合理。。