2014-04-04 113 views
0

在我们正在使用的一些第三方应用程序中,附加文件存储在数据库中的声明为image的列中。从SQL Server 2012中的图像列检索文本

我试图将内容转换为纯文本。

我做了一个测试把字符串'abc'放到这样一个列中;在select回报:

0x1F8C0200030000004B4C4A0600C2412435 

我不能找到一种方法将其转换回字符串 'ABC'

convert(nvarchar(max), Convert(varbinary(max) 

不会帮助

我觉得这个字符串用来 0x1F8C0200030000004B4C4A0600C2412435 重新创建一个文件,但如何?

1F 8C 02 00装置:UTF-32LE编码

03 00 00 00:字符在文件编号

其余是不明确的,并且可以被拉链

+0

那么显而易见的问题是,究竟是在那里?例如,一个xml文档可以工作,尽管它可能比varchar max大,所以会被截断,一个jpg或者其他的,不会成为有史以来的文本。另一种可能性是它在某种程度上被压缩了。 –

+0

实际上字符串'abc'在那里 它被存储为'0x1F8C0200030000004B4C4A0600C2412435' – Ben

+0

突然想到尝试nvarchar(max),unicode ... –

回答