我正在尝试将varbinary数据提取为其原始格式,并将其保存到一个文件中。这是我到目前为止所做的,它没有显示任何错误,但它没有创建文件。
DECLARE @DocumentName varchar(500) = 'C:\' + @LicenseNumber + '\' + @FileType
+ '\' + convert(nvarchar(MAX), @FileDate, 21) + ' ' + @LicenseNumber
+ ' ' + @FileTypeCode + ' ' + @Quarter + @FileExtension
EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
EXEC sp_OASetProperty @ObjectToken, 'Type', 1
EXEC sp_OAMethod @ObjectToken, 'Open'
EXEC sp_OAMethod @ObjectToken, 'Write', NULL, @DocumentData
EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, @DocumentName, 2
EXEC sp_OAMethod @ObjectToken, 'Close'
EXEC sp_OADestroy @ObjectToken这里有没有任何人都能看到的错误?
发布于 2014-07-26 01:40:36
我认为这会破坏这个脚本的唯一原因是完整路径超过500个字符,并且在分配给@DocumentName时被截断。
发布于 2014-07-28 23:54:58
如果声明@DocumentName varchar(500) = 'C:\','C:\‘部分需要在运行脚本的服务器上。一旦我将其更改为服务器名称,而不是c:\,它就可以正常工作。有时候是一些小事情把一整天都搞砸了。:-)
https://stackoverflow.com/questions/24960778
复制相似问题