Sql server “使用SQL Server”;对于XML";:是否将结果数据类型转换为Text/varchar/string?

Sql server “使用SQL Server”;对于XML";:是否将结果数据类型转换为Text/varchar/string?,sql-server,xml,lotus-domino,Sql Server,Xml,Lotus Domino,我已经挣扎了将近一个星期了,但仍然没有找到任何解决办法- 我的目标是通过使用“FOR XML”语句进行查询,将XML作为字符串/流转发到XSLT转换器,并将结果显示为HTML,从而从SQL Server接收XML 它的缺点是我应该使用的Web服务器环境:IBMDomino8.5.2,它通常使用LotusScript和LotusNotes数据库来生成网站 但是现在Notes数据库的性能已经到了死胡同,当谈到像我们的网站hit statistics这样的大型数据库时,它将数百万次点击存储为数据集。因

我已经挣扎了将近一个星期了,但仍然没有找到任何解决办法-

我的目标是通过使用“FOR XML”语句进行查询,将XML作为字符串/流转发到XSLT转换器,并将结果显示为HTML,从而从SQL Server接收XML

它的缺点是我应该使用的Web服务器环境:IBMDomino8.5.2,它通常使用LotusScript和LotusNotes数据库来生成网站

但是现在Notes数据库的性能已经到了死胡同,当谈到像我们的网站hit statistics这样的大型数据库时,它将数百万次点击存储为数据集。因此,我们决定迁移到mssql2008服务器,该服务器可以更快地提供自定义筛选结果

我确实设法建立了与SQL Server的连接,提交了一个查询,并将结果作为xml。但是现在?:)SQL Server似乎将其“for xml”查询结果作为一种奇怪的二进制编码字符数据类型提供,在打印或保存到文件时没有任何意义。LotusScript(相当于VBScript)似乎不可能处理这种xml数据类型

我尝试了所有我能找到的方法——Lotus内置ODBC类、通过OleDB的LCConnection、通过OleDB的ADO连接。。。但每次尝试都会以一堆无法读取的数据结束

我可以想象domino和SQL Server之间的Web服务,将数据准备为domino脚本的字符串,但这是我希望避免的不必要的开销

您能在sql语句中告诉您希望生成的xml是什么数据类型吗?就像字段的cast()/convert()一样,但对于整个xml结果?这样我就可以把结果读成text/varchar字段了


Thx,Chris

我知道我以前做过类似的事情,我想这就是你想要的:

SELECT CAST((SELECT [Columns] FROM [Tables] FOR XML PATH('')) AS VARCHAR(MAX)) AS XmlData
这将把您生成的任何XML作为LotusNotes可能接受的文本数据输出


编辑:如果需要以另一种样式生成XML,可以将XML路径(“”)的
更改为XML自动的

太好了!正是我需要的!我已经在想类似的事情,也尝试过了,但我所做的错误是我忘记了第一个额外的“选择”:P有些事情可能很容易,谢谢,汉克!它帮助我注意到这种技术也适用于JSON路径的
。谢谢你的提示!