我需要在Delphi中读取SQL Server过程的输出,该过程返回XML
作为输出(@MSG1
)
PROCEDURE dbo.PROC_ZUND_XML
(@LOTEPC VARCHAR(10),
@MSG1 NVARCHAR(MAX) OUTPUT)
我试图使用TFDStoredProc
组件以及TFDQuery
获得此输出,但是,我在Delphi(ftWideString
,ftWideMemo
等)的参数配置中使用的变量类型无关紧要,它始终只存储第一个8000输出的字符。 Delphi的FireDAC查询编辑器的SQL Command部分中的count语句显示该过程的输出超过8000个字符。
因此,当将值分配给变量时,问题似乎在内部发生。有没有人知道如何解决它?也许是解决问题的另一种方法......先谢谢。
我正在使用SQL Server 2008和Delphi 10.2
如果您需要将此xml文件导出到特定文件夹,我建议您使用SQL SERVER本身将此文件导出到SHARED NETWORK FOLDER。
使用BCP,您可以生成XML,并直接保存到所需目录中的XML文件中。
一些有用的提示:
有用的文件:http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=171529 https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2012/ms162802(v=sql.110) https://sqlsouth.wordpress.com/2014/05/23/export-xml-from-sql-server-using-bcp/