我在T-SQL中使用它
插入provaxml(arquivo)
sELECT CAST(BulkColumn AS XML) FROM OPENROWSET(BULK N'C:\2012-09\myfile.xml', SINGLE_BLOB)as arquivo
我正在尝试编写程序:
alter proc adentro (@nome nvarchar(max))as
insert into provaxml (arquivo)
sELECT CAST(BulkColumn AS XML) FROM OPENROWSET(BULK N'C:\2012-09\myfile.xml', SINGLE_BLOB)as arquivo
如何通过变量@nome来改变文件名我必须尝试这种方式,但没有工作
alter proc adentro (@nome nvarchar(max))as
insert into provaxml (arquivo)
sELECT CAST(BulkColumn AS XML) FROM OPENROWSET(BULK N @nome, SINGLE_BLOB)as arquivo
提前致谢
亚历
答案 0 :(得分:1)
尝试这样的事情......(我昨天刚用这种技术进行类似的查询)
DECLARE @sql varchar(4000);
SET @sql = 'INSERT INTO provaxml (arquivo) SELECT CAST(BulkColumn AS XML) FROM OPENROWSET(BULK ''' + @nome + ''', SINGLE_BLOB) as arquivo';
EXEC( @sql );
我把它包裹在光标内部(我知道......我是一个使用光标的坏男孩。但我认为这是一个很好的使用)所以我可以用不同的方式填充我的变量文件名每次迭代。
答案 1 :(得分:0)
感谢DeadZone我已经使用此代码编写并且正在使用
ALTER proc [dbo]。[adenti](@entra nvarchar(max))as DECLARE @sql varchar(4000); SET @sql ='INSERT INTO provaxml(arquivo)SELECT CAST(BulkColumn AS XML)from OPENROWSET(BULK'''+ @entra +''',SINGLE_BLOB)as arquivo'; EXEC(@sql);