Sql 插入blob时是否可以将变量添加到path
插入blob时是否可以将变量添加到path 我已尝试过此代码,但不幸的是,它无法按我所希望的方式工作:( A1 @大卫 你好,大卫,Sql 插入blob时是否可以将变量添加到path,sql,sql-server,Sql,Sql Server,插入blob时是否可以将变量添加到path 我已尝试过此代码,但不幸的是,它无法按我所希望的方式工作:( A1 @大卫 你好,大卫, 谢谢你们的建议。Blob输出显示了我想要实现的目标,但我需要将@Blob输出插入表中,它完全不同 来自屏幕1的代码 declare @i int = 2 declare @file varchar(2000) = concat('C:\xml\EmployeeWorkTime',@i,'.xml'); declare @blob varbinary(max) de
谢谢你们的建议。Blob输出显示了我想要实现的目标,但我需要将@Blob输出插入表中,它完全不同 来自屏幕1的代码
declare @i int = 2
declare @file varchar(2000) = concat('C:\xml\EmployeeWorkTime',@i,'.xml');
declare @blob varbinary(max)
declare @sql nvarchar(max) = concat(N'select @blob = BulkColumn FROM
OPENROWSET(BULK ''',@file,''', SINGLE_BLOB) myfile')
insert [dbo].[tab1] values (convert(Varbinary(MAX),@sql))
屏幕1
屏幕2
A2
在选择@BLOB之后,应该有insert,这解决了我的问题:)再次感谢@David
(...)
select @blob
insert tab1 values(@blob)
OPENROWSET不支持文件名的表达式或变量。您可以改用动态SQL。像这样:
declare @i int = 1
declare @file varchar(2000) = concat('K:\test\file',@i,'.xml');
--set @file = 'c:\temp\a.xml'
declare @blob varbinary(max)
declare @sql nvarchar(max) = concat(N'select @blob = BulkColumn FROM OPENROWSET(BULK ''',@file,''', SINGLE_BLOB) myfile')
exec sp_executesql @sql, N'@blob varbinary(max) output', @blob = @blob output
select @blob
OPENROWSET不支持文件名的表达式或变量。您可以改用动态SQL。像这样:
declare @i int = 1
declare @file varchar(2000) = concat('K:\test\file',@i,'.xml');
--set @file = 'c:\temp\a.xml'
declare @blob varbinary(max)
declare @sql nvarchar(max) = concat(N'select @blob = BulkColumn FROM OPENROWSET(BULK ''',@file,''', SINGLE_BLOB) myfile')
exec sp_executesql @sql, N'@blob varbinary(max) output', @blob = @blob output
select @blob
最好列出您得到的错误、当前结果以及预期结果。它不起作用,因为我们不知道您想要什么。Msg 102,级别15,状态1,第5行“K:”附近的语法不正确。我想在路径中添加一个变量@i。列出您得到的错误、当前结果以及预期结果总是好的。它不能正常工作,因为我们不知道您想要什么。Msg 102,15级,状态1,第5行“K:”附近的语法不正确。我想在路径中添加一个变量@i谢谢您的建议。Blob输出显示了我想要实现的目标,但我需要将@Blob输出插入到表中,插入后完全不同。谢谢您的建议。Blob输出显示了我想要实现的目标,但我需要将@Blob输出插入到表中,插入后完全不同。