Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:将特定记录导出到xml文件_Sql_Sql Server_Database - Fatal编程技术网

SQL Server:将特定记录导出到xml文件

SQL Server:将特定记录导出到xml文件,sql,sql-server,database,Sql,Sql Server,Database,我创建了一个存储过程,用于将特定记录从表导出到XML文件。该过程工作正常,但问题是当尝试执行该过程时,结果如下所示: 执行代码: EXEC dbo.SF_ExportXML @myTable = N'Employee', -- nvarchar(255) @Id = 63, -- int @myFile = N'D:\Test1.xml' -- nvarchar(255) 结果: NULL Starti

我创建了一个存储过程,用于将特定记录从表导出到XML文件。该过程工作正常,但问题是当尝试执行该过程时,结果如下所示:

执行代码:

EXEC dbo.SF_ExportXML @myTable = N'Employee', -- nvarchar(255) 
                  @Id = 63,        -- int
                  @myFile = N'D:\Test1.xml'   -- nvarchar(255)
结果:

NULL
Starting copy...
SQLState=37000,NativeError=102
错误=[Microsoft][ODBC驱动程序13 for SQL Server][SQL Server]靠近“Employee”的语法不正确

SQLState=S1000,NativeError=0
错误=[Microsoft][SQL Server的ODBC驱动程序13]无法解析列级排序规则


BCP复制失败
空的

存储过程是:

ALTER PROCEDURE [dbo].[SF_ExportXML]
    @myTable NVARCHAR(255),
    @Id INT,
    @myFile NVARCHAR(255)
AS
BEGIN
    DECLARE @cmd NVARCHAR(255)

    SELECT @cmd = N'bcp "select * from "' + @myTable + '" where Id = "'  + Cast(@Id AS NVARCHAR) + '" Employee for xml auto, root(''rows''), elements" ' +
'queryout "' + @myFile + '" -S .\sqlexpress -T -w -r -t';

    EXEC xp_cmdshell @cmd
END

我认为您的SP在服务器实例中运行,并且路径
D:\Test1.xml
在您的服务器中不存在SP在没有where子句的情况下工作正常。当然,您的SP在工作,但是当您在其他计算机的实例中安装SP时。系统只知道其路径,不是您计算机上的路径在这种情况下,我在SP中使用变量来避免此问题,然后我将在c#project中分配它。跳过where子句时,PROJECT将向您显示SP执行的结果