在SQL Server中将XML文件插入数据库

时间:2018-04-12 09:54:33

标签: sql sql-server xml tsql sql-insert

我创建了一个包含3列@UserDefinedSectionData和XML数据类型的表,带有INT数据类型的@UserDefinedModuleId和带有INT数据类型的@UserDefinedTabId。

我需要将整个XML文件插入到数据库中,在T-SQL中我需要从本地PC读取路径,例如:C:\ Websites \ dnndev.me \ XML \ abc.xml,读完后插入整个xml进入UserDefinedSectionData列,这是XML数据类型。

我该怎么做?

1 个答案:

答案 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代理的帐户授予权限。