0

我被迫使用 Pentaho Report Designer 5.4 并遇到以下问题:每次我尝试更改报表的数据库连接时,在选项部分设计器中添加参数“ce”而没有任何值 - 即使我之前删除了它(请参阅下图)。当我打开 .prpt 文件并查看 sql-ds.xml 内部时,连接 url 如下所示:"jdbc:sqlserver://192.168.1.194:1433;databaseName=statdb;integratedSecurity=false;ce"

问题是我的报告根本没有加载。我查看了报告日志,发现以下几行:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The connection string contains a badly formed name or value.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) ~[sqljdbc4.jar!/:na]
    at com.microsoft.sqlserver.jdbc.Util.parseUrl(Util.java:445) ~[sqljdbc4.jar!/:na]
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.parseAndMergeProperties(SQLServerDriver.java:1026) ~[sqljdbc4.jar!/:na]
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1008) ~[sqljdbc4.jar!/:na]

我假设附加参数“ce”导致了问题。我有两个问题:

  1. 为什么 Pentaho 报表设计器在报表的数据库连接中添加名为“ce”的参数?

  2. 连接 url 的格式是否正确?是否正确附加了参数“ce”?

    在此处输入图像描述在此处输入图像描述

4

2 回答 2

1

运行此查询并获取您的实例名称,然后将该值分配给选项选项卡中的ce属性,然后就可以了:)

SELECT HOST_NAME() AS HostName, SUSER_NAME() LoggedInUser,SERVERPROPERTY('MachineName') AS [ServerName],
                     SERVERPROPERTY('ServerName') AS [ServerInstanceName],
            SERVERPROPERTY('InstanceName') AS [Instance],
            SERVERPROPERTY('Edition') AS [Edition],
            SERVERPROPERTY('ProductVersion') AS [ProductVersion],
                     Left(@@Version, Charindex('-', @@version) - 2) As VersionName
于 2017-08-09T11:28:47.583 回答
1

这是以这种方式定义的“实例名称”。在您的情况下,选项为空白,因为我在 UI Instance name 上看到的也是空白。

这很可能是一个错误 - 编辑连接时自动添加了“ce”。如果您不希望数据库编辑器尝试以这种方式调整连接字符串 - 使用“通用数据库”连接。您必须指定完整的 java 类名和连接 jdbc 连接字符串。此外,您必须在类路径上有这个 jdbc 驱动程序,它可以解决大多数此类“编辑连接”问题。

完整指南可以找到jdbc sqlserver dirver 类

在此处输入图像描述

于 2016-11-23T09:04:37.357 回答