ODBC error:String data right truncate怎样解决?(200分)

  • 主题发起人 主题发起人 xzsxzs
  • 开始时间 开始时间
X

xzsxzs

Unregistered / Unconfirmed
GUEST, unregistred user!
各位专家:
用TClientdataset在客户端更新blob数据时,AppServer中用TADOQuery,
若Select语句中存在text or image字段,则出现:
ODBC Error:String data right truncate
怎么办?
 
a.sqlserver 6.5中:
b.image,text可存放1-2147483647字节.
用select返回这种数据时,所显示的字节数,默认为4k,你可以用
set textsize重新定义它的大小。
c.text,image类型有以下限制
1)不能用于union (union all 除外)
2)不能用在distinct后面
3)不能用在where ,having 中
 
Sorry, 不是因为blob字段的原因,是:
当数据为汉字时,由于provider绕过TADOQuery直接
更新数据库,更新数据库是用store procedure,
update tablename set fieldname=@p1
而p1说明为varchar(n),其中n为实际的字符个数,
例如:'abcd',则n=4,但:
'汉字',则n=2
故:string data ,right truncate?
怎么办?
 
1.你的ODBC是老版本,或你用了新版的ODBC却还在用delphi4的旧版
2.你的服务端在改库后没有更新
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部