sql-server - 如何将文件从 ADODB.Stream 保存到 SQL Server 中的表?
问题描述
我有一个查询将数据从Image
列保存到磁盘:
declare @x varbinary(max)
declare @xz varbinary(max)
declare @OLEStream Int, @ErrCode Int
declare @FileName nvarchar(4000) = N'd:\temp1.pdf'
set @x =(SELECT [_Fld3351] FROM [mydb].[dbo].[_InfoRg3349] WHERE<> )
exec @ErrCode = sys.sp_OACreate 'ADODB.Stream' ,@OLEStream OUT
exec @ErrCode = sys.sp_OASetProperty @OLEStream , 'CharSet' ,'utf-8'
exec @ErrCode = sys.sp_OASetProperty @OLEStream ,'Type' , 1
exec @ErrCode = sys.sp_OAMethod @OLEStream ,'Open'
exec @ErrCode = sys.sp_OAMethod @OLEStream ,'Write', null, @x
EXEC @ErrCode = sp_OAMethod @OLEStream,'SaveToFile',null, @FileName,2
EXEC @ErrCode = sp_OAMethod @OLEStream,'Close'
现在我想在varbinary(max)
列中写入这些数据。
以前从不使用sp_OAMethod
命令,那么如何修改代码以将数据写入表?
解决方案
作为故障排除的一部分,以下是如何将该文件加载到 varbinary(max) 列中,以便您可以将其与源列进行比较并找出发生了什么。
insert into SomeTable(BlobColumn)
select BulkColumn
from openrowset(bulk N'c:\temp\test.pdf', SINGLE_BLOB) b
推荐阅读
- excel - VBA Combobox 使用 VLOOKUP 从电子表格上的数据自动填充 texboxes
- opencv - 在 CVAT 中进行注释时是否可以运行自定义逻辑
- safari - HTTP Post 请求在 Safari iOS 上使用 Fetch 的正文为空
- snowflake-cloud-data-platform - 将 Varchar 转换为 Snowflake 中的时间戳
- visual-studio-2015 - 如何为 Visual Studio 15 oe 2017 项目配置根目录?
- python - 不可追踪的对象属性
- python - 如何在 Wagtail Admin 中获取 CharField 的下拉列表?
- regex - 将长线包裹*在*一个表格单元格内
- c# - 在 C# MVC 中使用 Stripe api 兑换促销代码
- pine-script - 为多头和空头条目创建单独的策略警报