问题标签 [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 回答
685 浏览

sql-server - ActiveRecord 对象类型是否可以有一个 varchar(max) 列?

我真的想为我的字符串类型的 ActiveRecord 对象的属性之一设置一个无限长度的列,但我不知道如何设置它。当我将长度设置为 -1(SQL 服务器中 MAX 的数字)时,出现错误。

任何人都可以帮忙吗?

编辑:我的意思是说Castle ActiveRecord。

0 投票
4 回答
14249 浏览

sql-server - 我的 VARCHAR(MAX) 字段的上限为 4000;是什么赋予了?

我的一个数据库中有一个表格,它是一个电子邮件队列。发送到特定地址的电子邮件会累积到一封电子邮件中,这是由存储过程完成的。在存储过程中,我有一个表变量,用于构建电子邮件的累积正文,然后循环发送每封电子邮件。在我的表 var 中,我的 body 列定义为VARCHAR(MAX),因为当前可能为给定的电子邮件地址累积了任意数量的电子邮件。似乎即使我的列被定义为VARCHAR(MAX)它的行为就像它一样VARCHAR(4000)并且正在截断进入它的数据,尽管它没有抛出任何异常,但它只是在 4000 个字符后默默地停止连接任何更多数据。

MERGE 语句将累积的电子邮件正文构建到@EMAILS.BODY 中,这是将自身截断为4000 个字符的字段。

编辑

我更新了我的 MERGE 语句,试图将整个分配的字符串转换为 VARCHAR(MAX),但它仍然默默地将自己截断为 4000 个字符......这是我的新 MERGE:

结束编辑

下面是我的sproc的代码...

0 投票
4 回答
164 浏览

sql-server - 是否可以在同一个表中有一个 nvarchar(max) 和一个 varbinar(max) 字段

我正在使用 SQL Server 2008 R2。

我有一个表,其中有几个字段,包括一个 nvarchar(max) 字段。

当我尝试添加 varbinary(max) 类型的新字段时,我收到一条错误消息:“不允许保存更改。您所做的更改需要删除并重新创建下表”。

是否可以在同一个表中有一个 nvarchar(max) 和一个 varbinar(max) 字段?

解决此问题的唯一方法是创建具有新结构的新表并传输数据吗?

0 投票
3 回答
1458 浏览

sql-server - SQL Server varchar(MAX) 参数导致“参数对象定义不正确”

我在表中有一个字段,我想存储一个可能很长的错误字符串。为此,我选择了 varchar(MAX) 作为数据类型。我创建了一个存储过程,用于在表中输入该数据,对于字段“ErrorDescription”,我使用了以下参数定义。

问题出在调用存储过程以记录错误的 ADO 过程中(在 Access 2003 中)。我将错误描述作为字符串值并尝试将其分配给参数...

但它失败并出现以下错误。

“参数对象定义不正确”

如果我将存储过程定义更改为...

然后一切正常。如何定义存储过程参数以接受可能很长的字符串?是否varchar(MAX)使用了错误的数据类型?谢谢你。

编辑我应该提到我正在使用的 SQL Server 版本。我正在使用 SQL Server 2008。

0 投票
2 回答
4288 浏览

sql-server-2008 - 如何在旧的 ASP/VBScript 应用程序中使用 SQL Server 2008 存储过程的 Varchar(max) 输出?

这是存储过程:

这是VBScript:

似乎 adLongVarWChar 适用于输入,因为我已经使用过几次了。但是,在 VBScript 中使用 varchar(max) 输出的正确方法是什么?按原样,我的错误状态是:“参数对象定义不正确。提供的信息不一致或不完整。” 来自 ADODB。

0 投票
1 回答
1005 浏览

c# - LINQ 大字符串 (64k) 未插入 SQL 数据库

我在 SQL varchar(max) 中有一个列。使用 LINQ,当我尝试添加超过 64k 大字符串的记录时,该值不会保存到数据库中。我只是在做;

使用 LINQ to SQL 时有限制吗?这样做的正确方法是什么?

0 投票
9 回答
59987 浏览

sql - 为什么不使用 varchar(max)?

在数据库设计方面我有点老派,所以我完全赞成在列中使用正确的数据大小。但是,在为朋友查看数据库时,我注意到他使用varchar(max)了很多。现在,我的直接想法是把它扔给他并告诉他改变它。但是后来我想了想,找不到一个很好的理由让他不使用它(如果你想知道的话,他使用了一个案例类型的工具来生成数据库)。

我一直在研究varchar(max)使用的主题,我真的想不出任何充分的理由让他不使用它。

他不使用列作为索引,位于数据库上的应用程序对输入有限制,因此它不允许在字段中输入大量条目。

任何帮助将不胜感激,以帮助我让他看到光明:)。

0 投票
3 回答
14660 浏览

sql - SQL 2008 - varchar(max) 与文本数据类型

可能重复:
SQL Server 文本类型与 varchar 数据类型
在 SQL Server 上使用 varchar(MAX) 与 TEXT

从这篇文章中,看起来它们都具有相同的容量:http: //msdn.microsoft.com/en-us/library/ms143432.aspx

这真的正确吗?真正的区别是什么?

我刚刚从 oracle 迁移了一些数据(clob 并将其转换为 varchar(max),但它看起来还是截断了一些值,我应该使用 TEXT 来代替吗?

谢谢!

0 投票
1 回答
576 浏览

sql-server - Sql Server Varchar(max) 和文本数据类型

我正在研究 sql server 中的 varchar(max) 数据类型,并尝试与 text 和 varchar(8000) 数据类型进行比较。我读了几篇关于这个的文章。如某些文章中所述,我们无法使用常规 DML 语句更新文本列,而是需要使用 updateText、readText、writeText。我在 sql server 2008 中尝试过这个,我可以使用常规 DML 语句更新文本列。我想知道,文章中指定的情况对于以前版本的 Sql Server 是否正确?如果超过 8 kb,sql server 如何存储 varchar(max) 数据?

0 投票
1 回答
1003 浏览

sql-server - 什么是 sql Type -10(与 Sql Server 的 nvarchar(max) 相关)

我一直在调查jtds 错误报告 sql servervarchar(max)nvarchar(max)列类型的问题(建议替换textand ntext)。

在inet、jtds、ms jdbc数据库驱动之间,唯一一致的列定义是使用

(有关来源等,请参见上面的链接)

其中SQL_DATA_TYPE 为“未使用”

对于varchar(max)所有驱动程序返回 -1 => LONGVARCHAR。但是,因为nvarchar(max)它们都返回 -10。这是什么类型的,它的标准如何?