【问题标题】:BIRT: XML data source cannot be retrieved. XML data source file is invalid or the file doesn't existBIRT:无法检索 XML 数据源。 XML 数据源文件无效或文件不存在
【发布时间】:2014-07-04 13:14:26
【问题描述】:

我创建了一个从本地应用程序获取 XML 数据的 XML 数据源。创建数据集时出现以下错误。

org.eclipse.datatools.connectivity.oda.OdaException: XML data source cannot be retrieved. XML data source file is invalid or the file doesn't exist.
    at org.eclipse.datatools.enablement.oda.xml.ui.wizards.XPathChoosePage.populateXMLTree(XPathChoosePage.java:482)
    at org.eclipse.datatools.enablement.oda.xml.ui.wizards.XPathChoosePage.createPageCustomControl(XPathChoosePage.java:121)
    at org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizardPage.createControl(DataSetWizardPage.java:123)
    at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:174)
    at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736)
    at org.eclipse.jface.wizard.WizardDialog.setWizard(WizardDialog.java:1182)
    at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1241)
    at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1238)
    at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1227)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1225)
    at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:915)
    at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:428)

XML URL 返回以下数据:

<table>
  <row>
    <marketName>dd</marketName>
    <commodityName>Black Barley</commodityName>
    <priceType>Wholesale</priceType>
    <pricePerQtl>58.0</pricePerQtl>
    <date>2014-07-03 15:18:21</date>
  </row>
</table>

【问题讨论】:

  • 您能否提供更多详细信息,例如软件版本?
  • @Miki Spring Tool Suite 版本:3.5.1.RELEASE 构建 ID:201405030657 平台:Eclipse Kepler SR2 (4.3.2)
  • 我可以根据您的数据在 BIRT 4.3.2 中生成报告。您是否只在应用程序或 BIRT 设计器中遇到问题?
  • @Miki 当我使用 XML 文件作为数据源时它适用于我,但现在当我向 XML 文件生成器提供 URL 时。
  • 你能保存/检查生成的 XML 文件吗? URL 语法是否正确?

标签: xml eclipse birt


【解决方案1】:

我只能在一种情况下重现这一点,即开始标记之前有空格。所以请确保没有空格。

<?xml version="1.0" encoding="UTF-8"?>
<table>
  <row>
    <marketName>dd</marketName>
    <commodityName>Black Barley</commodityName>
    <priceType>Wholesale</priceType>
    <pricePerQtl>58.0</pricePerQtl>
    <date>2014-07-03 15:18:21</date>
  </row>
</table>

【讨论】:

  • 我的 XML 源文件没有生成 &lt;?xml 标记,而且它不会在开头生成空格。
  • 在创建数据源时“测试连接”是否成功?
  • 是的,它成功了。
【解决方案2】:

当我点击 this^ next 时,这发生在我身上。

如您所见,它在说Use the XML file defined in datasource
但在您的数据源上,您为其提供了 url,因此解决方案:
在您的数据源上使用 XML 文件,直到您完成报表设计。

完成设计后,将数据源指向url


您的 url 需要身份验证,并且在尝试访问该 url 时,安全过滤器会将您重定向到登录页面。
因此,您可能需要:
跳过对 url 的身份验证以某种方式对报告引擎请求进行身份验证。

【讨论】:

    【解决方案3】:

    我在 Eclipse 2019-03 上使用 BIRT 4.7.0 时也遇到了这个问题。

    解决方法是在数据源中提供 XML Schema (XSD)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-24
      相关资源
      最近更新 更多