gpt4 book ai didi

python - 在python中以xml格式返回sql查询

转载 作者:数据小太阳 更新时间:2023-10-29 02:46:45 25 4
gpt4 key购买 nike

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

  1. 运行 sql 查询并以 XML 格式返回结果(使用“for XML auto”)
  2. 通过 XSLT 转换运行 sql 查询的结果,以便 xml 以适合我编写的 java 应用程序的方式格式化。
  3. 使用最终的 xml 文件运行 java 应用程序

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

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

最佳答案

我想,执行您使用“FOR XML AUTO”的 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...

编辑

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

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

cursor.execute("select user_name from users where user_id=? for xml auto", userid)
rows = cursor.fetchall()
xml = ''.join(row[0] for row in rows)

关于python - 在python中以xml格式返回sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2952544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com