【问题标题】:Insert of XML file into Database in SQL Server在 SQL Server 中将 XML 文件插入数据库
【发布时间】:2018-09-22 10:14:13
【问题描述】:
我创建了一个表,其中包含 3 列 @UserDefinedSectionData 与 XML 数据类型,@UserDefinedModuleId 与 INT 数据类型和 @UserDefinedTabId 与 INT 数据类型。
我需要将整个 XML 文件插入到数据库中,在 T-SQL 中我需要从本地 PC 读取路径,例如:C:\Websites\dnndev.me\XML\abc.xml,读取后插入将整个 xml 转换为 XML 数据类型的 UserDefinedSectionData 列。
我该怎么做?
【问题讨论】:
标签:
sql
sql-server
xml
tsql
sql-insert
【解决方案1】:
我使用这种语法:
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 代理的帐户授予权限。