小编典典

如何使用正确的文件扩展名将(全部)SQL Server图像数据类型保存到文件系统

sql

我在表中有不同类型的文件(txt,doc,jpg等),我想将它们全部保存到我的文件系统中。我知道如何逐个文件地进行操作,但这没有用,我必须做一个循环,一次保存所有带有正确扩展名的文件。有什么建议吗?

我现在这样做:

DECLARE @ObjectToken INT
EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
EXEC sp_OASetProperty @ObjectToken, 'Type', 1
EXEC sp_OAMethod @ObjectToken, 'Open'
EXEC sp_OAMethod @ObjectToken, 'Write', NULL, <this is where binary data goes>
EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, 'd:/file.txt', 2
EXEC sp_OAMethod @ObjectToken, 'Close'
EXEC sp_OADestroy @ObjectToken

因此,我的问题是是否有办法一次对db表中的所有记录(保存所有文件)执行此操作,并为每个保存的文件设置正确的文件扩展名?


阅读 157

收藏
2021-04-22

共1个答案

小编典典

我解决了这个问题。我发现将db从SQL Server 2000迁移到2005真的不容易。只有一种可行的解决方案是-http://tek-works.com/fixing-there-is-already-an-object-named-
sysnsobjs-in-the-base /

完成这些步骤后,只需将兼容性级别设置为90。(右键单击数据库>属性>兼容性级别)

然后,您可以使用VARBINARY(MAX)并将完整的图像数据类型二进制文件保存到文件系统。

祝您迁移顺利!

2021-04-22