SQL SERVER数据压缩存入数据库后怎么查询显示问题

rojian2010 2017-11-20 09:44:24
各位大神,求解决,急急急!
我在做公司的一个与thyssenkrupp(蒂森克虏伯)检测台数据库集成时,发现其中一个表的字段“ARRAY_VAL”不知道是通过什么方式压缩后存入数据库的,无法查询出正常的数据。
其英文帮助里的说明如下图:

在数据库中该表存储的数据源如下所示:

正常的数据如下图所示:

该公司用的检测台上位机软件名叫叫UPS.
因该公司技术人员是国外的人,沟通问题的清晰和周期无法预料,特向CSDN大神求助,并奉上全部积分。
可以远程,加QQ :592212993

谢谢!
...全文
234 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2017-11-21
  • 打赏
  • 举报
回复
你先把表结构贴出来吧, 看下这个字段的类型。
rojian2010 2017-11-21
  • 打赏
  • 举报
回复
这个是确定的 。
OwenZeng_DBA 2017-11-21
  • 打赏
  • 举报
回复
看了下数据库中查询出来的是16进制的数字,应该比你程序里面列出来的要多。你先确定下,程序里面过去的是这一列吗?
rojian2010 2017-11-21
  • 打赏
  • 举报
回复
怎么转换,我通过文件流转换为十进制,输出为乱码。
吉普赛的歌 2017-11-21
  • 打赏
  • 举报
回复
这种二进制的类型, 弄得复杂了就只能写代码来读取了。 你直接找人家要完整的可以运行的demo读取代码吧。
rojian2010 2017-11-21
  • 打赏
  • 举报
回复
说明文档上有:




rojian2010 2017-11-21
  • 打赏
  • 举报
回复
谢谢,这个我试过,输出为乱码。
吉普赛的歌 2017-11-21
  • 打赏
  • 举报
回复
SELECT CONVERT (varchar(MAX), CONVERT (varbinary(MAX), ARRAY_VAL))
FROM dbo.ARRAY_RES
WHERE arr_test_index=13
	AND arr_obj_index=249
看看这样行不行?
rojian2010 2017-11-21
  • 打赏
  • 举报
回复
听雨停了 2017-11-20
  • 打赏
  • 举报
回复
这个是不是因为存进数据库的时候进行了进制转换,你可以把查询出来的结果转成十进制看看和你原来的内容对不对
shuohuameijiang 2017-11-20
  • 打赏
  • 举报
回复
友情帮顶一下。

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧