Sql server 无法从SSMS获取完整长度的二进制数据

Sql server 无法从SSMS获取完整长度的二进制数据,sql-server,ssms,Sql Server,Ssms,桌子 id-int 文件-varbinarymax 质疑 资料 id 1数据有一个文件。它的二进制长度是836412。但是当我运行查询时,我只看到43680字节的二进制数据 我试图通过将结果另存为以CSV形式下载数据。。。弹出面板中的按钮。但,我仍然无法获得完整长度的二进制数据 在CSV中,只有16位无符号、65534长度的数据可用。不幸的是,我现在无法从我的应用程序中请求数据。我必须从SSMS中取出它,并在测试代码中手动转换它以查看文件 如何从SSMS获取完整的二进制数据?是否有显示完整长度二

桌子

id-int 文件-varbinarymax 质疑

资料

id 1数据有一个文件。它的二进制长度是836412。但是当我运行查询时,我只看到43680字节的二进制数据

我试图通过将结果另存为以CSV形式下载数据。。。弹出面板中的按钮。但,我仍然无法获得完整长度的二进制数据

在CSV中,只有16位无符号、65534长度的数据可用。不幸的是,我现在无法从我的应用程序中请求数据。我必须从SSMS中取出它,并在测试代码中手动转换它以查看文件


如何从SSMS获取完整的二进制数据?是否有显示完整长度二进制数据的选项?

您可以尝试使用以下查询将文件字段转换为XML

SELECT CAST(CONVERT(VARCHAR(MAX), file, 1) AS XML)
FROM Table
WHERE id = 1
但是,您需要确认您的SSMS查询选项设置正确:

Query | Query Options... | Results | Grid | XML Data: unlimited
这将以十六进制形式提供结果,如下所示:

0x47494638396150003200F70 ...

添加到sql中,Lenfile为FLen。这将验证表上是否存在完整长度。在表中创建该行时使用了什么?我怎样才能重复这个问题?创建这样一个表?
0x47494638396150003200F70 ...