使用t-sql将文件从服务器复制到另一个

罗德里戈

我有麻烦了。我需要使用T-sql将文件从一台服务器复制到另一台服务器。格式是可变的(pdf,xlsx,doc,jpg),但通常为excel .xlsx。

现在,我的解决方案是在源服务器上将文件转换为varbinary数据,并将其作为参数传递给位于目标服务器上的存储过程。

源服务器中的代码:

DECLARE @temp table(data varbinary (max))
DECLARE @out varbinary(max)

INSERT INTO @temp(data)
SELECT * FROM OPENROWSET(BULK N'C:\original.xlsx', SINGLE_BLOB) as data

SELECT @out=data FROM @temp
EXEC DEST_SERVER.copy @out

(我知道代码很丑陋和多余,但到目前为止进展顺利)

目标服务器上的代码是:

CREATE PROCEDURE copy @in varbinary(max)
AS
BEGIN
    CREATE TABLE ##temp(data varbinary(max))
    insert into ##temp(data) values(@in)
    declare @SQLcommand varchar(1000)
    set @SQLcommand = 'bcp "SELECT data FROM ##temp" queryout "C:\copied.xlsx" -T -S ' + @@SERVERNAME + ' -n'
    exec xp_cmdshell @SQLcommand
    DROP TABLE ##temp
END

到该过程可以在目标服务器上创建新文件时,但是两个文件都略有不同。

具体来说,新文件的开头还有一些其他内容,其他所有内容都是相同的:

original.xlsx

50 4B 03 04 14 00 06 00

08 00 00 00 21 00 A7 95

F9 99 84 01 00 00 14 06

00 00 13 00 DD 01 5B 43

6F 6E 74 65 6E 74 5F 54

等等...

复制的

4F 32 00 00 00 00 00 00->此字节是新的

50 4B 03 04 14 00 06 00

08 00 00 00 21 00 A7 95

F9 99 84 01 00 00 14 06

00 00 13 00 DD 01 5B 43

6F 6E 74 65 6E 74 5F 54

等等...

我究竟做错了什么 ?,

斯波克

这篇文章中的人有同样的问题。他通过使用bcp命令指定格式文件来修复它。我认为这也可能是您的问题。看起来它可能与bcp和varbinary列有关。

SQL Server BCP导出损坏的文件?

希望能有所帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

使用Bash将单词从一个文件复制到另一个文件

来自分类Dev

使用PowerShell将列从一个csv文件复制到另一个

来自分类Dev

使用PowerShell将列从一个csv文件复制到另一个

来自分类Dev

使用结构将文件从一个远程服务器复制到另一台远程服务器?

来自分类Dev

使用LINQ将数据从一个表复制到另一台服务器上的另一个表?

来自分类Dev

使用PIL将一个图像复制到另一个图像

来自分类Dev

使用python脚本将文件内容复制到另一个文件

来自分类Dev

如何使用PDO将表从远程服务器上的一个表复制到另一个远程数据库mysql5.6上的表

来自分类Dev

如何使用VBA将文件从一个目录复制到另一个目录

来自分类Dev

使用python将文件复制到另一个文件夹

来自分类Dev

如何使用MS GRAPH SDK C#获取驱动器信息(ParentReference)以将文件复制到另一个驱动器

来自分类Dev

使用Bash将单词从一个文件复制到另一个文件

来自分类Dev

使用PowerShell将列从一个csv文件复制到另一个

来自分类Dev

使用python将xlsx文件复制到另一个麻烦

来自分类Dev

使用Linux将文件从NTFS精确复制到另一个NTFS

来自分类Dev

无法使用写入系统调用将整个文件复制到另一个文件

来自分类Dev

如何使用python将某些csv文件列复制到另一个csv文件中?

来自分类Dev

如何使用asp.net Web服务将文件从一个目录复制到IIS根目录下的另一个目录?

来自分类Dev

使用ffmpeg将元数据从一个文件复制到另一个文件

来自分类Dev

使用ffmpeg将元数据从一个文件批量复制到另一个文件

来自分类Dev

使用Powershell将整个列从一个CSV文件复制到另一个

来自分类Dev

使用cmd命令将文件从目录复制到另一个目录

来自分类Dev

使用WCF Web服务时无法将PDB文件复制到另一个目录

来自分类Dev

使用迭代器将文件的一部分复制到另一个文件

来自分类Dev

使用GREP或SED将特定文本从一个文件复制到另一个文件

来自分类Dev

使用通配符将所有文件从一个 docker 卷复制到另一个?

来自分类Dev

如何使用 C# 中的 WinSCP .NET 程序集将内容从一个远程目录复制到同一服务器中的另一个目录

来自分类Dev

使用 C++ 将文件内容复制到另一个文件

来自分类Dev

T-SQL:创建触发器以将新列从一个表复制到另一个表并增加 no

Related 相关文章

  1. 1

    使用Bash将单词从一个文件复制到另一个文件

  2. 2

    使用PowerShell将列从一个csv文件复制到另一个

  3. 3

    使用PowerShell将列从一个csv文件复制到另一个

  4. 4

    使用结构将文件从一个远程服务器复制到另一台远程服务器?

  5. 5

    使用LINQ将数据从一个表复制到另一台服务器上的另一个表?

  6. 6

    使用PIL将一个图像复制到另一个图像

  7. 7

    使用python脚本将文件内容复制到另一个文件

  8. 8

    如何使用PDO将表从远程服务器上的一个表复制到另一个远程数据库mysql5.6上的表

  9. 9

    如何使用VBA将文件从一个目录复制到另一个目录

  10. 10

    使用python将文件复制到另一个文件夹

  11. 11

    如何使用MS GRAPH SDK C#获取驱动器信息(ParentReference)以将文件复制到另一个驱动器

  12. 12

    使用Bash将单词从一个文件复制到另一个文件

  13. 13

    使用PowerShell将列从一个csv文件复制到另一个

  14. 14

    使用python将xlsx文件复制到另一个麻烦

  15. 15

    使用Linux将文件从NTFS精确复制到另一个NTFS

  16. 16

    无法使用写入系统调用将整个文件复制到另一个文件

  17. 17

    如何使用python将某些csv文件列复制到另一个csv文件中?

  18. 18

    如何使用asp.net Web服务将文件从一个目录复制到IIS根目录下的另一个目录?

  19. 19

    使用ffmpeg将元数据从一个文件复制到另一个文件

  20. 20

    使用ffmpeg将元数据从一个文件批量复制到另一个文件

  21. 21

    使用Powershell将整个列从一个CSV文件复制到另一个

  22. 22

    使用cmd命令将文件从目录复制到另一个目录

  23. 23

    使用WCF Web服务时无法将PDB文件复制到另一个目录

  24. 24

    使用迭代器将文件的一部分复制到另一个文件

  25. 25

    使用GREP或SED将特定文本从一个文件复制到另一个文件

  26. 26

    使用通配符将所有文件从一个 docker 卷复制到另一个?

  27. 27

    如何使用 C# 中的 WinSCP .NET 程序集将内容从一个远程目录复制到同一服务器中的另一个目录

  28. 28

    使用 C++ 将文件内容复制到另一个文件

  29. 29

    T-SQL:创建触发器以将新列从一个表复制到另一个表并增加 no

热门标签

归档