5

我有一varbinary(max)列将图像存储在 SQL 数据库中。

我正在编写一个 newdb 脚本,其中一个应用程序创建了一个新的数据库实例并填充了一些表。我正在处理的其中一个表正在初始化该图像列。

为此,我使用 select 语句打印列的内容并将内容粘贴到 newdb 脚本的 insert 语句中。这似乎最初可以工作,但图像没有正确加载。

所以我比较了DATALENTH()原始数据(5469988)和新数据(21839)。似乎 Microsoft SQL Server management Studio - 2014 切断了我为什么在某个时间点从原始数据库复制它的数据。我需要能够获取该列的全部内容。有任何想法吗?

4

3 回答 3

7
select cast(convert(varchar(max), VarBinaryMaxColumn, 1) as xml) from Table
于 2019-02-11T18:50:10.503 回答
4

而不是复制/粘贴,右键单击结果并执行“将结果另存为...”,这应该会导出全部内容。有趣的是,将查询输出显式设置为文本或文件仍会截断长数据值。

于 2015-06-17T18:51:59.513 回答
1

如果您复制并粘贴您限制的查询结果选项。大多数列将在一定长度(通常为 256 个字符)后被剪切。

您可以在顶部栏中选择“将结果另存为...”,这将提示您一个数据导出对话框。

您也可以使用数据导出向导。

于 2015-06-17T18:53:22.270 回答