如何在SQL Server列中存储超过varchar(max)的非常大的数据?

问题描述:

我试图在SQL Server 2012中保存json数据。该数据的大小超过了varchar(max)的大小,因此SQL Server会截断剩余的文本。存储更多数据的解决方案是什么?如何在SQL Server列中存储超过varchar(max)的非常大的数据?

+3

如果你超过了varchar max的长度,那么你的代码中就有可怕的错误。 varchar(max)将保存2GB的文本。我知道这是json数据,但这是大量的信息。 –

+0

是的,我知道我们超过了长度,这不是好的做法,但在这里我们正在处理大型excel文件数据并在计算后将其转换为json。我们希望将这些数据保存在db中,因此在用户确认一切正常后,我们可以使用存储的数据快速保存以提高性能。 –

+2

超过2GB的Excel数据?你的表现必定是一个真正的挑战。 –

Sql Server具有FileStream功能,允许您存储不符合标准varchar(max)字段的数据。另外还有一个选项(),名为FileTables,允许你在文件系统上存储文件,但是直接从T-SQL访问它。这很光滑,但我和我的同事发现学习曲线非常陡峭;许多你必须习惯的小怪癖。

+0

FileTables从2016年版开始提供,正如我们在2012年提到的那样。所以FileTables不会有帮助。 –

+2

@Parag Patil不,他们不是。我们也在2012年......我只是将最新的文档链接起来。 *叹息* – Kittoes0124

+0

知道什么是有用的@ParagPatil,这个答案 – scsimon