问题标签 [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 投票
1 回答
14711 浏览

sql - 处理 VB.NET 中的 varbinary 字段

我们的一个合作伙伴正在调用一个包含名为 token 的参数的 Web 服务。令牌是两个数字的 MD5 哈希的结果,并帮助我们使用我们的合作伙伴系统验证用户。我们的合作伙伴向用户询问两个字符串,将它们连接起来,通过 MD5 运行它们,然后调用我们的 Web 服务。MD5的结果就是token,以字符串的形式提交给我们。

我们将有效令牌存储在数据库中——因为我们使用 SQL Server 来计算我们端的令牌,SQL 似乎最乐意将令牌存储为 varbinary,这是 MD5 计算的本机结果。

我们有两段代码试图做同样的事情——运行一个选择查询,根据提交的令牌提取一个值。一个使用动态查询(这是一个问题),但它有效。另一个尝试以参数化(更安全)的方式做同样的事情,它不起作用 - 它无法找到令牌。

这是两个相互竞争的尝试。首先,失败的参数化版本:

其次,有效的动态查询字符串版本:

当我们运行 SQL 分析器时,这实际上是对 DB 执行的:

这对我来说看起来不对,看起来好像我们正在做的事情会导致堆栈中的某些东西在某处进行错误的转换。

有什么想法吗?在其中使用动态查询启动显然是不可接受的。

编辑:

该字符串是一个 MD5 哈希结果。为了让它在查询分析器中工作,我们这样做:

请注意缺少引号,如果我们引用它,查询将失败。我们要比较的字段是 varbinary,SQL Server 已将我们端的 MD5 计算结果存储在其中。

0 投票
6 回答
11449 浏览

nhibernate - 如何让流利的 nhibernate 在 sql server 中创建一个 varbinary(max) 字段

如何让流利的 nhibernate 在使用 varbinary(max) 字段大小的 sql server 2005 表中创建 varbinary 字段?目前我总是得到一个默认值 varbinary(8000),它不够大,因为我要存储图像文件。

我试过使用 CAstle.ActiveRecord 但还没有成功。

几个小时以来一直未能找到解决方案,所以在此先感谢

捷克克

0 投票
1 回答
3591 浏览

database - 序列化对象并将其存储到数据库中的 varbinary 字段

我可以使用以下方法将对象序列化为文件:

我想做的不是将其写入文件,而是将其写入 DB varbinary 字段。我假设我必须将 writeStream 更改为其他内容,但是什么?我可以把一个对象放在那里,然后将该对象插入数据库(我正在使用 LINQ)。

这行得通吗?

PS:我环顾四周,找不到任何可靠的例子。

0 投票
1 回答
1380 浏览

sql-server - 通过 LINQ 访问带有 varbinary 数据的行是否会导致超时?怎么修?

我在 SQL 中有许多表。一个是Controls(一种典型的 CRUD 对象),一个是Attachments附件通过 FK引用控件(可以有很多附件)。除其他外,附件还包括名称和带有文件数据的 varbinary 列。

通过 linq,Control有一个 Attachments 属性。

我有一个控件视图 (MVC),它显示了很多信息,包括现有附件的列表。该列表是通过辅助方法完成的:

该函数遍历附件并写出带有附件名称的无序列表。

我偶尔会收到超时错误,这是该错误的一个片段:

所以...

  1. 我是否正确地假设这些超时是由于这样一个事实,即当控件已经加载时,附件行是延迟加载的,并且只从帮助程序加载?这主要是因为我抓取了大约 50 mb 的我不需要的数据?

  2. 我该如何防止这种情况?a) 我想避免拆分桌子。b) 我可以在控件上创建一个 AttachmentsNoBinary 部分属性,该属性返回一个新类,该类除了二进制文件之外的所有内容?c)看来我可以只在二进制列上打开“延迟加载”。这行得通吗?如果是这样——我已经强调不更改 DBML 中的任何内容,因为我有清除表然后重新加载的习惯。所以我会失去这个设置。有什么办法可以确保我不会丢失它吗?我可以从我的部分设置它吗?或者也许是一个可以断言它已打开的单元测试?

解决方案:根据答案,我意识到不是:

我可以改为:

虽然我最终延迟加载了 varbinary 列,但希望我在重置 dbml 文件时不要忘记再次设置该选项。

谢谢,詹姆斯

0 投票
1 回答
22777 浏览

sql-server - SQL Server 2005/2008:在 Transact-SQL 的 varbinary(max) 列中插入文件

是否可以在 Transact-SQL 的 varbinary(max) 列中插入文件?如果是的话,我会很高兴有一个代码片段至少让我知道如何做到这一点。

谢谢

0 投票
2 回答
11175 浏览

.net - SQL Server Varbinary(max):从 varbinary 字段中选择字节子集

从 SQL Server 2008 中的 varbinary(MAX) 字段(不使用 FileStreams)读取部分二进制数据的最有效方法是什么?

将数据写入列时,VarBinary.Write() 函数在 T-SQL 中可用,允许将字节增量写入字段,但似乎没有类似的函数可用于读取数据。

我知道 .Net 中的 DataReader.GetBytes() 方法将只选择您要求的字节,但这会带来性能开销吗?即 sqlserver 中的 select 是否会读取数据库中的所有字节,然后将所有这些字节提供给 getBytes() 方法以获取从它们请求的字节子集?

谢谢你的帮助。

0 投票
1 回答
985 浏览

c# - Linq to SQL:Varbinary(Max) 增量读取

在 SQLServer 2008 存储过程中,SUBSTRING 可用于一次从查询中返回 varbinary(MAX) 列的一部分。

直接在代码中通过 C# 使用 LINQ To SQL 时是否有类似的功能可用?

编辑:我的意思是,每次只需要一部分数据时,只从数据库的代码中加载一定数量的字节,而不是整个 blob。

编辑:鉴于只有一个答案,我认为这无法完成,所以我接受第一个答案。

0 投票
2 回答
2313 浏览

sql-server - 从存储在 varbinary(max) 列中的 .doc 类型中查找结果

我想在存储 .doc/.docx(MS-Word) 文件的 varbinary(max) 类型的列上使用全文搜索编写查询。我的查询必须返回包含存储文件中的单词的记录。

这可能吗?

如果是,怎么做?(请写一个例子)

如果是,我们可以用其他语言(例如阿拉伯语、波斯语或 Unicode 字符)来写吗?

事先谢谢你。

0 投票
2 回答
1073 浏览

sql - 在数据库中存储大文件的问题

我使用 linq to sql 将文件存储在varbinary(max)字段中。Filestream 也已激活,但是当我尝试存储 400 或 500 MB 的文件时,我收到此错误:

我的代码是:

我得到这个异常的原因可能是什么,我该如何避免它?

0 投票
2 回答
644 浏览

sql-server-2008 - Order By 包含 docx 文件的 varbinary 列

我正在使用 MS SQL 2008 服务器,并且我有一个存储 word 文档“.docx”的列。

在 word 文档中有一个定义(即:一个术语)。我需要在返回数据集时对定义进行排序。

所以基本上...

SELECT * FROM DocumentsTable Order By DefinitionsColumn ASC。

所以我的问题是如何做到这一点,二进制 comlumn 只对二进制值而不是 word 文档内容进行排序?

我想知道全文搜索/索引是否可行。我已经有这个工作了,只是不确定我是否可以将它与 ORDER BY 一起使用。

- 提前感谢大家。