【问题标题】:Extract Hex String from varbinary to File [duplicate]从varbinary中提取十六进制字符串到文件[重复]
【发布时间】:2013-02-07 20:08:28
【问题描述】:

这几乎是一个菜鸟问题,但我找不到解决方案。

我正在使用 SQL Server 数据库。在一个表中,一列的 DataType 为 varbinary(max)。此列的值显示为十六进制值(当我使用选择 - 查询时)。将显示的十六进制字符串完全写入文本文件的最佳方法是什么?

两个约束: * 复制和粘贴不是一个选项。我要提取的值的长度约为。 69000 个字符。 Windows 剪贴板似乎只存储了大约 43000 个字符。 * 我尝试将查询结果保存为 .csv 文件。但这些文件的最大大小约为 65000 个字符。

【问题讨论】:

  • 为什么不能查询该列,将其存储在 StringBuffer 中,然后将其写入文件?
  • 这个答案有帮助吗? stackoverflow.com/a/5172100/2061621
  • 使用事务 SQL?还是Java?我一直在使用一个小型 Java 程序来查询该值。但我不知道调用哪个方法来获取十六进制值而不是字节。

标签: java sql sql-server sqldatatypes type-conversion


【解决方案1】:

从命令行:

bcp "select * from [<yourtable>]" queryout C:\Temp\yourfile.dat -S yourserver -d yourDatabase -T -c

-T 表示可信连接;您可以使用 -U 和 -P 提供用户名作为密码。

【讨论】:

  • 哇哦哦!!! :-) 有效!谢谢。我昨天尝试了 bcp,但没有将数据库作为额外参数。我的查询中有它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
  • 1970-01-01
  • 2016-12-27
  • 1970-01-01
  • 2012-09-25
相关资源
最近更新 更多