【发布时间】:2012-09-26 18:31:57
【问题描述】:
我认为这个很简单,但我似乎找不到答案。
我在 SQL Server 2005 上运行查询,最后使用 for xml, elements 以将结果作为 XML 返回。
select top 10 title, pubdate, description, link
from rssfeed item
for xml auto, elements
我正在从经典的 ASP 页面运行查询。通常要从列中获取结果,我会使用rs.Fields.Item("colName")。问题是,对于for xml,列名是一个像XML_F52E2B61-... 这样的长字符串。
我试过rs.Fields(0).value。这奇怪地返回了查询中由问号分隔的列的名称,而不是 XML。我的输出是:
?title?pubdate?description?link?item?L???
我在 Management Studio 中测试了我的查询,XML 看起来没问题。有没有办法将此值读入经典 ASP?
【问题讨论】:
-
找到 Microsoft 链接 (msdn.microsoft.com/en-us/library/ms187561.aspx)。他们建议
rs(0)。试过了。相同的问号分隔结果。 -
该链接使用带有
DataTypeCompatibility=80的连接字符串。试过了。没有运气。 -
链接使用
Provider=SQLNCLI。我正在使用Provider=SQLOLEDB。试过了。没运气。结果相同。 -
更新了 SQL 2005 的链接 (msdn.microsoft.com/en-us/library/ms187561%28v=sql.90%29.aspx)。
-
在 DBA.SE 上找到一篇比较 SQLNCLI 和 SQLOLEDB 的帖子。 (dba.stackexchange.com/a/2833/9553)。答案提到了 ADO 中的一个有限功能集,这就是我正在使用的。可能是罪魁祸首?
标签: sql-server asp-classic for-xml