问题标签 [varbinary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
26050 浏览

c# - 在 C# 中从 SQL Server 流式传输 VARBINARY 数据

我正在尝试使用 ASP.Net 提供存储在数据库中 VARBINARY(MAX) 字段中的图像数据。现在,代码正在填充数据表,然后将字节数组拉出 DataRow 并将字节数组推送到响应中。我想知道是否有一种方法可以或多或少地将数据从 SQL Server 流式传输到响应中,而不必围绕这些巨大的字节数组进行编组(因为图像很大,它们会导致 OutOfMemoryExceptions)。有没有一个类/机制?

当前代码看起来或多或少像:

在此先感谢 - 任何帮助表示赞赏。

0 投票
1 回答
886 浏览

sql - 使用 ASP 将 varbinary PDF 文件从 SQL 2005 流式传输到浏览器

我有一个将 PDF 文件存储到 SQL 2005 的商业程序。我希望能够搜索(我有那个部分)然后在浏览器中显示 PDF 文件。这是我遇到问题的“显示 PDF 文件”。我正在使用 HTTP/ASP,并且更愿意继续这种方式。我对 ASP.NET 一无所知,所以这对我没有帮助。任何帮助,将不胜感激。谢谢。

0 投票
1 回答
3634 浏览

sql - 如何在 MSSQL 中将 varbinary 数据类型转换回 ascii

我正在尝试从 MS SQL 中的图像日期字段中获取 RTF 数据。没那么容易。

问题是,当我对数据字段进行直接二进制转储时,它不是 RTF 格式。
让我解释一下发生了什么。当我使用写字板创建一个 RTF 文件并将该数据写入 varbinary(max) 并重新转换时,结果是乱码。

将 RTF 数据放入 MS SQL 的代码:

在二进制文件中,该文件的第一部分如下所示 0x7B 5C 72 74 66 31 5C 61 6E 73 69 5C 61 6E 73 69) (ascii {\rtf1\ansi\ansi ) 但是,varbinary 字段如下所示:0xB0 04 01 00 0E 00 00 00 00 00 00 00 00 00 09 00

当我从数据库中取出该数据时(通过使用与上述过程相反的过程),它不是可识别的 RTF 文件。因此,MS 以某种我无法识别的方式对其进行了转换。如果我能弄清楚如何将其转换回 ascii 文本,那么我可以继续我的应用程序。

0 投票
4 回答
8385 浏览

sql-server - 如何为具有 VARBINARY(MAX) 字段的表生成 INSERT 脚本?

我有一个带有VARBINARY(MAX)字段的表(SQL Server 2008 with FILESTREAM

我的要求是,当我去部署到生产中时,我只能为我的 IT 团队提供一组 SQL 脚本,按一定的顺序执行。我在生产中制作的一张新表有这个VARBINARY(MAX)字段。通常对于新表,我会编写CREATE TABLE脚本。而且,如果我有需要处理的数据,我将编写INSERT脚本。不太复杂。

但是VARBINARY(MAX),我用来生成INSERT语句的存储过程在该表上失败了。我尝试选择该字段,打印它,复制它,转换为十六进制等。我遇到的主要问题是它没有选择该字段中的所有数据。我做了一个检查DATALENGTH([FileColumn]),如果源行包含 1,004,382 字节,我在再次插入时可以获得复制或选择的数据的最大值是 8000。所以基本上它是截断(即无效)数据.....

我怎样才能做得更好?我像疯了一样尝试谷歌搜索,但我一定错过了一些东西。请记住,我无法访问文件系统。这必须全部脚本化。

0 投票
4 回答
78942 浏览

sql-server - SQL Server 中 varbinary(max) 中的最大实际空间

我正在使用 a 将文件(任何类型)保存在 SQL 表中varbinary(max),我发现此数据类型的最大使用量是 8000,但是 8000 是什么意思?

在线文档说是 8000 字节。这是否意味着要保存的文件的最大大小为 8000/1024 = 7.8125 KB?

我开始测试,我可以存储的最大文件是 29.9 MB。如果我选择一个更大的文件,就会得到一个 SQLException。

字符串或二进制数据将被截断。该语句已终止。

0 投票
2 回答
22284 浏览

sql - 在这里使用 varbinary 比 varchar 有什么优势?

前段时间,我问了一个关于 SQL Server 中层次结构/版本号排序的问题。( 我如何一般使用 SQL Server 查询对“版本号”列进行排序)。

在提交的答案中,有一个 TSQL 编码挑战的链接,其中有很多相同的谜题

在 SQL2000 解决方案中,作者演示了两种变体,一种使用并返回 varchar,另一种 varbinary。作者解释说他正在这样做,但没有解释为什么。

所以,我的问题实际上是,方法差异的主要区别/优势(如果有的话)是什么?即为什么使用 varbinary 而不是 varchar?

我已经省略了发布代码,因为它在上面的文章中得到了最优雅的总结。

0 投票
1 回答
314 浏览

tsql - 如何组合两个 varbinaries

我有两个 varbinary 掩码:

我必须

1)合成它们以获得类似的东西@mask_composite = @mask1 | @mask65

2)检查 @mask_composite & @mask2 > 0

如何使用 T-SQL 做到这一点?

0 投票
3 回答
2309 浏览

c# - C# 中的 XML 到 SQL 中的 varbinary 列

我有一个从文件加载的 XmlDocument 对象。

我需要将此 XML 文档转换为与 SQL 表中的 varbinary 兼容的格式。我怎样才能做到这一点?

0 投票
1 回答
916 浏览

c# - 如何在 c# (asp.net) 和 SQL Server 上更好地保存和加载图片?

我想保存图片,并在网格视图中显示它们的名称、描述、价格和其他内容,但我不知道该怎么做。首先,我应该如何上传图片?我目前正在使用 Windows 窗体应用程序来保存其他信息,但我现在还需要保存图像。这些图像需要从 ASP.NET 应用程序的网页中查看。

我认为我不需要保存路径,因为其他用户将通过他们计算机上的网页加载它。在数据库中使用的最佳格式是什么varbinaryimage. 我不确定如何使用这些或如何使它们在网格视图中可见。如果我有图像的路径,我确实知道该怎么做,但如果图像在数据库中,我就不知道了。

谁能告诉我如何将图像存储在数据库中,然后将其显示在网格视图中?

0 投票
1 回答
1965 浏览

.net - 将 XML 从字符串保存到 Sql Server 2005 .NET 中的 varbinary 列

使用 .NET(在 SSIS 包中):

我在内存中有一个 XML 字符串,我需要将其作为 XML 文件保存到 Sql Server 中的 varbinary 列中。

似乎我应该能够避免实际将 .xml 文件保存到磁盘,并在内存中完成所有这些,但我不确定如何。我最初的想法是在 System.IO 中使用 File 类,但这个类似乎需要磁盘上的文件。

内存中有没有办法将 XML 字符串转换为其字节并将其保存到数据库中?

谢谢。

(我在 VB 中编码,但自然 C# 示例也很好)。