我被迫使用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”导致问题。 我有两个问题:
为什么Pentaho Report Designer会将名为“ce”的参数添加到报表的数据库连接中?
连接网址是否格式正确?参数“ce”是否正确附加?
答案 0 :(得分:1)
这是'实例名称'定义了这种时尚。在您的情况下,选项是空白的,因为我在UI上看到实例名称也是空白的。
这很可能是一个错误 - ' ce'连接编辑时自动添加。如果您不希望数据库编辑器尝试调整您的连接字符串,请使用'通用数据库'连接。您必须指定完整的Java类名和连接jdbc连接字符串。此外,你必须在classpath上有这个jdbc驱动程序,它可以解决大多数这样的'编辑连接'的问题。
可以找到完整指南jdbc sqlserver dirver class
答案 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