【问题标题】:Use SQL to create a text file and save to a varbinary blob file without writing to disk使用 SQL 创建文本文件并保存到 varbinary blob 文件而不写入磁盘
【发布时间】:2018-12-17 00:31:53
【问题描述】:

我目前有一个有效的 SQL 存储过程,它使用 BCP 和 xp_cmdshell 在系统磁盘上创建一个文本文件,然后将该文件上传到附件表中的 varbinary 字段中。

我需要知道的是,是否可以在不将文件写入磁盘的情况下执行此操作?

更新详情

我使用的是 MSSQL 2014,目的是将文本文件(实际上是 csv 文件)加载到数据库中,以便其他用户可以下载。

【问题讨论】:

  • 呃,如果是文本文件,为什么不直接存储内容?您想通过存储文件本身来解决什么问题?除此之外,存储内容允许您查询它,或根据接收平台更改行尾。
  • 您使用的是哪个DBMS 产品? “SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加tag postgresql, oracle, sql-server, db2, ...
  • 源表和目标表在同一个数据库吗?同一台服务器?
  • @Nick.McDermaid,是的,这将在同一个数据库和服务器中。
  • @Clockwork-Muse 提出了一个很好的观点——你为什么要这样做?是因为您希望能够从数据库中下载文件吗?由于它们在同一个数据库中,Mani Kandan 的以下答案有帮助吗?

标签: sql sql-server varbinary


【解决方案1】:

生成文本文件只是为了将内容放入 varbinary 字段中吗?如果是这样,为什么不使用 convert 函数将内容直接转换为 varbinary 并将结果直接推送到表格字段中。

如果我错了,请纠正我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    相关资源
    最近更新 更多