问题标签 [varcharmax]

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 投票
3 回答
6739 浏览

sql-server - 连接 varchar(max) 变量 SQL Server 2005

@varchar(max)在将几个变量连接在一起以基于几个不同的查询构建电子邮件时遇到了一个非常令人头疼的问题。

为了提高效率,我一次使用多个varchars来构建电子邮件,而不是通过大致相同的查询两次或三次或更多次以仅使用一个来构建它varchar

这一直有效,直到我varchars的字符数超过 8000 个。然后将它们全部连接成一个varchar(我可以将其塞入 的@body参数中msdb.dbo.sp_send_dbmail)返回“”,甚至 LEN() 实际上也不会给我一个长度。

无论如何,我通过多次执行大致相同的查询并仅使用一个varchar(max).

TL;博士

我对解决方案不满意。我怎么能将这些varchar(max)变量相互附加?

0 投票
3 回答
1648 浏览

sql - SQL Server Text 数据类型或 Varchar(max) 创建过大的数据库

当我在列中使用 SQL ServerTextVarchar(max)数据类型时,它会创建太大的数据库:例如,一个表中的 1000 行包含varchar(max)使用大约 1000 Mb (1Gb) !!!!

这正常吗?

感谢帮助

编辑我的文本字段大约 5 到 50 kb MAX

0 投票
3 回答
17489 浏览

database - SQL Server 字段被截断

好的,我正在使用 SQL Server 2008 并且有一个类型为 的表字段VARCHAR(MAX)。问题是使用 保存信息时HibernateVARCHAR(MAX)字段的内容被截断。我在应用服务器或数据库服务器上都没有看到任何错误消息。

该字段的内容只是一个纯文本文件。此文本文件的大小为 383KB。

到目前为止,这是我为解决此问题所做的工作:

  1. 将数据库字段从VARCHAR(MAX)TEXT 更改为相同的问题。

  2. 使用 SQL Server Profiler,我注意到数据库服务器正在接收全文内容
    ,但由于某种原因,在尝试查看具有截断问题的 SQL 时,分析器会冻结。就像我说的,就在它冻结之前,我
    确实注意到正在接收全文文件内容(383KB),所以看起来可能是数据库问题。

有没有人遇到过这个问题?任何想法是什么导致这种截断?

注意:只想提一下,我只是进入 SQL Studio,只是复制 TEXT 字段内容并将其粘贴到 Textpad。这就是我注意到它被截断的方式。

提前致谢。

0 投票
1 回答
683 浏览

sql-server-2008 - 在 SQL Server 数据库中将距离矩阵存储为 VarChar(Max)

我正在开发一个车队调度应用程序,并寻找一种有效的方法来存储地理位置之间的距离。

应用程序代码以二维数组的形式访问矩阵double[,]

为了使矩阵持久化,我目前将矩阵序列化为字符串。序列化后是这样的:

然后将其存储在varchar(max)SQL Server 2008 数据库中的类型列中。但是,我想知道这个字符串是否会变得太大。

假设每个条目都有一位数字并且忽略空格和“\n”,理论上我可以在一个条目中存储大约 46000 个位置的距离(2 147 483 647 的平方根 - 的大小varchar(max))。这在我的上下文中就足够了。

这种方法有什么严重的缺点吗?将距离存储在一个额外的表中会更好吗,其中每一行包含两个位置之间的一个距离?

如果我们的应用程序的 100 个用户分别存储 1000 个位置,那么我将在这样的表中有 100000000 = 100 * 1000 * 1000 行......

0 投票
0 回答
91 浏览

c# - VARCHAR(MAX) 和 > 8000 字节/ExecuteNonQuery

可能重复:
VARCHAR(MAX) 和 > 8000 字节/ExecuteNonQuery(重新发布)

我正在尝试通过插入 > 8000 个字符(从网页提交)ExecuteNonQuery。存储过程将参数定义为VARCHAR(MAX). 列是VARCHAR(MAX)。理论上,2GB的数据应该是可以通过的。

但是,在一个简单的测试中,在 SSSMS 中,我执行以下操作:

所以,也许这是 SSMS 查询本身的一个限制,但是当我从代码中传递数据时,它仍然会被截断。我确信我错过了一些基本/明显的东西,但我无法弄清楚。

我该怎么做才能传递数据> 8000?

注意:我不需要关于 SSMS 的答案。这只是一个测试。我正在尝试使用 C# 和ExecuteNonQuery.

我的问题在这里得到了解答: 如何使用 ExecuteNonQuery 在 VARCHAR(MAX) 列中插入超过 8000 个字符?

这是一个缓存问题。

0 投票
4 回答
8126 浏览

c# - 如何使用 ExecuteNonQuery 在 VARCHAR(MAX) 列中插入超过 8000 个字符?

ExecuteNonQuery我正在尝试通过(以及DatabaseFactory.CreateDatabase()来自 MS Practices Enterprise Library)插入 > 8000 个字符(从网页提交)。存储过程将参数定义为VARCHAR(MAX). 列是VARCHAR(MAX)。理论上,2GB的数据应该是可以通过的。

我该怎么做才能传递数据> 8000?我设置了一个断点,string.Length确实> 8K。

存储过程:

表(只是为了表明一切都是varchar(max)):

.

更新:

我刚刚更改了代码,这似乎有效,但我不确定有什么区别:

0 投票
1 回答
2045 浏览

sql-server-2008 - 在 Sql server 的 Varchar(max) 列中搜索文本

我想编写一个 t-sql 查询,它在 sql server 表的列中查找值。

例子,

详细信息列中存储了以下类型的字符串

目标是编写给出以下输出的查询

任何帮助将不胜感激。

谢谢,

0 投票
3 回答
10598 浏览

sql-server - SQL server Varchar(max) 和占用的空间

如果varchar(max)用作数据类型并且插入的数据小于完全分配,即只有 200 个字符,那么 SQL Server 将总是占用全部空间varchar(max)还是只占用 200 个字符的空间?

此外,即使插入的数据较少,还有哪些其他数据类型会占用最大空间?

是否有任何文件说明这一点?

0 投票
3 回答
1917 浏览

c# - 使用 C# 和存储过程从 SQL Server 检索 VarChar(MAX)

我有一个WebMethod调用来varchar(max)从 SQL Server 检索列。我创建了我需要的存储过程,它在 Management Studio 中运行良好,但是当我运行以下代码时出现错误:

不存在数据时尝试读取无效

代码:

0 投票
0 回答
549 浏览

sql - 在 varchar(max) 字段中搜索引号

我在表中有一个字段设置为 VARCHAR(MAX),我无法搜索引号 ["]。
如果我搜索任何其他字符,它正在工作。