为什么 Pentaho Report Designer 将名为 "ce" 的参数添加到报表的数据库连接中?
Why is Pentaho Report Designer adding parameter named "ce" to Database Connection of the report?
我被迫使用 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" 是导致问题的原因。
我有 2 个问题:
为什么 Pentaho Report Designer 添加名为 "ce" 的参数到报表的数据库连接?
连接 url 的格式是否正确?参数 "ce" 是否附加正确?
这是'instance name'定义的时尚。在您的情况下,选项是空白的,因为正如我在 UI 上看到的,实例名称也是空白的。
这很可能是一个错误 - 'ce' 在编辑连接时自动添加。如果您不希望数据库编辑器尝试以这种方式调整您的连接字符串 - 使用 'Generic database' 连接。您必须指定完整的 java class 名称和连接 jdbc 连接字符串。此外,您还必须在 class 路径上安装此 jdbc 驱动程序,它可以解决大多数此类 'edit connection' 问题。
可以找到完整的指南jdbc sqlserver dirver class
运行 此查询并获取您的 实例名称 ,并将该值分配给 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
我被迫使用 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" 是导致问题的原因。 我有 2 个问题:
为什么 Pentaho Report Designer 添加名为 "ce" 的参数到报表的数据库连接?
连接 url 的格式是否正确?参数 "ce" 是否附加正确?
这是'instance name'定义的时尚。在您的情况下,选项是空白的,因为正如我在 UI 上看到的,实例名称也是空白的。
这很可能是一个错误 - 'ce' 在编辑连接时自动添加。如果您不希望数据库编辑器尝试以这种方式调整您的连接字符串 - 使用 'Generic database' 连接。您必须指定完整的 java class 名称和连接 jdbc 连接字符串。此外,您还必须在 class 路径上安装此 jdbc 驱动程序,它可以解决大多数此类 'edit connection' 问题。
可以找到完整的指南jdbc sqlserver dirver class
运行 此查询并获取您的 实例名称 ,并将该值分配给 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