在python中返回xml格式的sql查询

2024-06-10 02:03:33 发布

您现在位置:Python中文网/ 问答频道 /正文

当我第一次在我现在工作的公司工作时,我创建了一个java应用程序,可以运行成批的jasper报表。为了确定要为报表集中的每个报表使用哪些参数,我运行了一个sql查询(在sqlserver上)。我编写了一个应用程序来获取一个xml文件,其中包含了要在该文件集中生成的每个报表的一组参数。因此,我的流程实际上变成了三个步骤:

  1. 运行sql查询并以XML格式返回结果(使用'forxmlauto')
  2. 通过XSLT转换运行sql查询的结果,以便xml的格式与我编写的java应用程序非常友好。在
  3. 使用最终的xml文件运行java应用程序

可以想象,我想用python完成这些步骤,但是我不太确定如何开始。我知道如何用Python运行SQL查询。我看到了很多关于如何用Python编写自己的xml文档的文档。我甚至看到了python中xsl转换的文档。在

最大的问题是如何通过python以XML格式获取sql查询的结果。任何和所有的指针都是非常有价值的。 谢谢, _拉米


Tags: 文件文档应用程序sql参数报表格式步骤
1条回答
网友
1楼 · 发布于 2024-06-10 02:03:33

我可以想象,使用'forxmlauto'执行sql查询将得到一个包含一条记录(XML)的记录集。然后,您将检索第一条记录并从那里继续应用程序。在

使用pyodbc的示例:

cursor.execute("select user_name from users where user_id=? for xml auto", userid)
xml = cursor.fetchone()
if xml:
    # do your xsl transformation and other processing here...

编辑

我在测试中选择了很多字段,并且(我认为)设法超过了行对象的缓冲区大小,因此它分割了记录。在

根据我的测试,我需要的代码是:

^{pr2}$

相关问题 更多 >