标签: varbinary

将Linq To Sql Binary字段设置为null

尝试将二进制字段设置为null会给我一个ArgumentNull异常.我可以像这样将字段设置为空,new Binary(new byte[] {});但这不是空的只是一个空列.是否有使用LinqToSql的解决方法?

c# varbinary linq-to-sql

4
推荐指数
1
解决办法
4160
查看次数

如何在PHP中显示MSSQL varbinary(3072)图像?

我有一个存储在MSSQL中的位图图像,该列的数据类型是varbinary(3072).我想用PHP中的图像做的就是显示它并将其存储到文件中.怎么做?

无法在Google上找到任何有用的内容,也无法在此处找到.我发现的只有一些框架的使用 - 这不是我想要的.

这是一个示例图像:

0x444453207C0000000710080010000000100000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000400000044585431000000000000000000000000000000000000000000000000000000000000000000000000000000001B021A02555555551B021A02555555551B021A02555555551B021A02555555559DBFA7110D3FD555FFFF115E02080F05FEDF4E03C0A0E070555DE819635EFAC3F69DE609DC706BEFFCBFA4010B0BADDDFBC74F4458B808A8B475271A60ACA67757AFA9335F7E5456ED3345091BA280A058972C3BE063E9F5104D683A55FD8383
Run Code Online (Sandbox Code Playgroud)

php sql-server varbinary

4
推荐指数
1
解决办法
2604
查看次数

在声明VARBINARY时使用变量指定"大小"

在SQL Server(2008 R2)中,而不是这样做:

DECLARE @testVar VARBINARY(64);
Run Code Online (Sandbox Code Playgroud)

我想这样做:

DECLARE @varSize INT;
SET @varSize = 64;
DECLARE @testVar VARBINARY(@varSize);
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

'@varSize'附近的语法不正确.

我该怎么做这样的事情或强制SQL来评估@varSize?

sql variables declare varbinary sql-server-2008-r2

4
推荐指数
1
解决办法
950
查看次数

当inserint值为varbinary时重复出现问题

我们面临一个非常奇怪的问题.

当表列如下时,我们的mssql 2008 R2 db中有一个表:

  1. userId - int
  2. userName - varbinary(256)
  3. userType - int

和userName列是唯一的

我们再次对表格执行以下查询:

insert into table_name (userId, userName, userType) values ( 1 ,  0x5942C803664B00, 0)
Run Code Online (Sandbox Code Playgroud)

在该查询之后,我们执行以下查询:

insert into table_name (userId, userName, userType) values ( 2 ,  0x5942C803664B, 0)
Run Code Online (Sandbox Code Playgroud)

我们得到以下错误:

无法在对象'table_name'中插入具有唯一索引'table_name _userName_u'的重复键行.

虽然0x5942C803664B和0x5942C803664B00是不同的值?

任何的想法 ?

sql duplicates varbinary sql-server-2008

4
推荐指数
1
解决办法
406
查看次数

更新VARBINARY(max)列时.WRITE(NULL,NULL,NULL)的语义

以下查询的语义是什么?

UPDATE table
SET column .WRITE(NULL, NULL, NULL)
Run Code Online (Sandbox Code Playgroud)

如果columnVARBINARY(max)类型,其内容不是NULL

快速测试表明查询是无操作的:

--DROP TABLE [table]
CREATE TABLE [table] ([column] VARBINARY(max))
INSERT INTO [table] VALUES (0x12345678)
UPDATE [table]
SET [column] .WRITE(NULL, NULL, NULL)
SELECT * FROM [table]
Run Code Online (Sandbox Code Playgroud)

执行它不会改变数据column.但是,我似乎无法在文档中找到证据.我是否忽略了某些事情,或者这种无操作行为是否可能改变?

t-sql sql-server varbinary sql-server-2008 varbinarymax

4
推荐指数
1
解决办法
5834
查看次数

将字节数组从 C# 插入 SQL Server 以及如何检索它

我正在尝试将此字节数组插入到 SQL Server 数据库中,列数据类型是varbinary,这是我在 C# 中的代码

SqlParameter param = new SqlParameter("@buffer", SqlDbType.VarBinary, 8000);
param.Value = buffer;

string _query = "INSERT INTO [dbo].[Files] (FileID, Data, Length) VALUES ('" + uID + "','" + buffer + "','" + buffer.Length + "')";

using (SqlCommand comm = new SqlCommand(_query, conn))
{
        comm.Parameters.Add(param);
        try
        {
            conn.Open();

            comm.ExecuteNonQuery();
        }
        catch (SqlException ex)
        {
            return Request.CreateResponse(HttpStatusCode.OK, "Something went wrong : " + ex.Message);
        }
        finally
        {
            conn.Close();
        }
}
Run Code Online (Sandbox Code Playgroud)

我也在字符串@buffer内部_query而不是缓冲区中尝试过,但我不断收到错误消息:

不允许从 …

c# sql sql-server asp.net varbinary

4
推荐指数
1
解决办法
3万
查看次数

将 bytearray 保存到 SQL Server 中的 VarBinary 列只插入一个字节

我有以下问题 - 我正在尝试保存byte[]到数据库,但我发现它仅适用于一个字节。

我有一些浮点数可以转换为 byte[] 并将其用作参数:

param = new SqlParameter(name, type, ((byte[])value).Length);
Run Code Online (Sandbox Code Playgroud)

类型是VarBinary,值是字节数组。

我将该参数添加到 my 中SqlCommand,就在它被执行之前,整个字节数组“位于”该参数中,并且_msize该参数是正确的(我认为 20 字节为 20 字节是正确的)。我的 SQL Server 显示我只保存了 1 个字节,也试图检索它我只得到一个字节。我的专栏是VarBinary(200)

有什么建议?

c# sql-server bytearray varbinary

4
推荐指数
1
解决办法
3741
查看次数

使用 Phinx Migrate 添加“varbinary”MySQL 字段类型

我正在尝试在 Phinx 中创建一个迁移,它将在 MySQL 数据库中创建一个 varbinary 类型字段来存储一个 ip_address。

这就是我所拥有的:

$table = $this->table('my_table');
$table->addColumn('ip_address', 'varbinary', ['after' => 'id', 'limit' => 16])
->save();
Run Code Online (Sandbox Code Playgroud)

然而,这只是返回:

[InvalidArgumentException]
为列“ip_address”指定了无效的列类型“varbinary”。

我尝试使用“二进制”,但这最终变成了 BLOB。:/

mysql migration varbinary phinx

3
推荐指数
1
解决办法
1049
查看次数

如果我不知道文本的长度,如何使用 varbinary

我想在 mysql 中使用 AES 加密文本,但我有一个小问题,因为您需要使用 varbinary 来存储这些。

我的一些数据类型是 varchar,是的,我可能可以为这些计算出我的 varbinary 的长度。然而,对于我的地址字段,我使用 TEXT 数据类型,因为我们存储了中文地址,而且这些地址可能很长。我使用 TEXT 数据类型是因为您不需要在 mysql 中指定长度。

问题是,使用 varbinary 时,您需要指定长度,而我真的不知道长度,因为地址可以是任意长度。

是否有某种二进制数据类型可以用于 AES,而不必指定数据的长度?

mysql encryption text aes varbinary

3
推荐指数
1
解决办法
1106
查看次数

如何在 presto 中将字符串散列到 bigint?

我有一个很长的字符串,我想将它半唯一地表示为一个 bigint。理想情况下,我只取散列,但presto 散列函数似乎想要返回“varbinary”,而且我找不到将 varbinary 转换为 bigint 的函数。

如果我写:

cast(xxhash64(cast('asdf' as varbinary)) as bigint)

我收到一条错误消息,说我无法将 varbinary 转换为 bigint。

hash varbinary presto trino

3
推荐指数
1
解决办法
1690
查看次数