我创建了一个包含3列@UserDefinedSectionData和XML数据类型的表,带有INT数据类型的@UserDefinedModuleId和带有INT数据类型的@UserDefinedTabId。
我需要将整个XML文件插入到数据库中,在T-SQL中我需要从本地PC读取路径,例如:C:\ Websites \ dnndev.me \ XML \ abc.xml,读完后插入整个xml进入UserDefinedSectionData列,这是XML数据类型。
我该怎么做?
答案 0 :(得分:4)
我使用这种语法:
DECLARE @xml_data XML,
@path_file nvarchar(260),
@cmd nvarchar(max);
SET @path_file = N'C:\Folder\File.XML';
/* get XML file */
SET @cmd = 'SELECT @xmlText = BulkColumn FROM OPENROWSET(BULK '
+ '''' + @path_file + ''''
+ ', SINGLE_BLOB) x;';
EXEC sp_executesql @cmd, N'@xmlText XML OUTPUT', @xmlText = @xml_data OUTPUT;
您必须向运行SQL Server代理的帐户授予权限。