【问题标题】:Error in using xp_cmdshell to read XML contents [duplicate]使用 xp_cmdshell 读取 XML 内容时出错 [重复]
【发布时间】:2013-10-21 03:31:45
【问题描述】:

我需要使用SQL 命令读取XML 文件的内容。我使用xp_cmdshell 读取文件并将所有内容插入到临时表中。

这是我的存储过程:

ALTER PROCEDURE ReadingXMLTest (@FileName VARCHAR(255))
AS
BEGIN
    DECLARE @ExecCmd VARCHAR(255)
    SET @FileName = 'C:\PrivateData\EmployeesInfo.xml';
    CREATE TABLE #tempXML(PK INT NOT NULL IDENTITY(1,1), ThisLine VARCHAR(255))
    SET @ExecCmd= 'type' + @FileName;
    INSERT INTO #tempXML EXEC master.dbo.xp_cmdshell @ExecCmd;
END 

但是我得到了这个错误-

文件名、目录名或卷标语法不正确。

我确定指定的文件存在于运行 SQL Server 的机器的目录中。文件名、目录名、卷标都正确。但为什么呢?

请帮助我。我试了很多次。

【问题讨论】:

    标签: sql sql-server xml tsql stored-procedures


    【解决方案1】:

    我替换了文件路径并测试了您的查询。它工作得很好。

    这是给您带来问题的行。

    SET @ExecCmd= 'type ' + @FileName;

    type 后面需要一个空格。

    这是一个完整的 dos 命令,您必须运行 'type C:\PrivateData\EmployeesInfo.xml'

    【讨论】:

    • 我的粗心大意。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    相关资源
    最近更新 更多