为什么Pentaho Report Designer会将名为“ce”的参数添加到报表的数据库连接中?

时间:2016-11-22 17:20:59

标签: java pentaho mssql-jdbc pentaho-report-designer

我被迫使用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 Report Designer会将名为“ce”的参数添加到报表的数据库连接中?

  2. 连接网址是否格式正确?参数“ce”是否正确附加?

    method-override readme enter image description here

2 个答案:

答案 0 :(得分:1)

这是'实例名称'定义了这种时尚。在您的情况下,选项是空白的,因为我在UI上看到实例名称也是空白的。

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

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

enter image description here

答案 1 :(得分: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