您好我有一个sql 2000数据库,其中大量扫描文档存储为pdf,word文档存储在图像数据类型中。 我需要将它们导出到文件中。 我已经编写了使用xp_cmdshell和bcp来执行此操作的代码。看看其他问题,我创建了一个fmt文件,如下所示:
8.0
1
1 SQLIMAGE 0 0 "" 1 FILEDATA ""
命令是
bcp "select filedata FROM attacheddocuments where pkey = '+ convert (varchar, @imageid) + '" queryout "c:\scans\' + @imagefilename + '" -T -f c:\scans\attached.fmt
然而,当我运行查询时,它会创建所有文件,但不能在word或acrobat中打开它们。都报告该文件已损坏。 相反,我运行命令
bcp "select filedata FROM attacheddocuments where pkey = '+ convert (varchar, @imageid) + '" queryout "c:\scans\' + @imagefilename + '" -T -N
pdf文件现在打开了,但单词文档仍然是损坏的。 有没有人有任何想法我错了?
答案 0 :(得分:0)
我知道这是一篇很老的帖子,我对除 PDF 以外的所有文件都有这个问题。
我试过不带 -N 和带。使用格式文件而不是使用格式文件。奇怪的是我以前经常使用我的脚本,有一段时间没有使用它了。在此期间,出现了一些 SQL 更新。不是脚本只导出未损坏的 PDF 文档。
Zip 文件和几乎任何我可以通过修复工具运行的文件,它们都已修复。但由于数量的原因,这不是一个可行的选择。
加上我的格式文件有一个 4 而不是 0。仅此一项就使除 PDF 文档之外的所有文件都因标题损坏而损坏。