有人可以帮助解决以下问题:
我在Pentaho BA Server中创建了2个JDBC数据源:
以上两个连接均能ping通。
当我将#1选项用作我的Cube模式的JDBC数据源时,一切正常。
但是,当我使用#2选项时,无法加载多维数据集,并且日志文件中发生以下异常:
C:\Users\lh131\AppData\Local\Programs\MiKTeX 2.9
所以,问题是,是否可以使用#2选项,因为我只有服务名才能连接数据库。
任何帮助将不胜感激!
答案 0 :(得分:1)
该问题背后的原因是连接名称。 基本名称中PSW和BA服务器的连接名称应相同。
答案 1 :(得分:1)
我找到了一种解决方法,但是由于我正在搜索可与TNSName一起使用的解决方案,因此不会将其标记为答案。
在下一页http://www.orafaq.com/wiki/JDBC中,我发现了JDBC URL的3种有效方式:
jdbc:oracle:thin:[<user>/<password>]@<host>[:<port>]:<SID>
例如:jdbc:oracle:thin:@myhost:1521:orcl
jdbc:oracle:thin:[<user>/<password>]@//<host>[:<port>]/<service>
例如:jdbc:oracle:thin:@//myhost:1521/orcl
jdbc:oracle:thin:[<user>/<password>]@<TNSName>
例如:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=<host>)(PORT=<port>))(CONNECT_DATA=(SERVICE_NAME=<service>)))
这是我在问题中描述的案例的屏幕截图:
对于#1选项:
使用提供的用户凭证,主机,端口和SID作为数据库名称的Oracle Connection
对于#2选项:
使用提供的用户凭证和TNS名称作为数据库名称的Oracle Connections,因为如果有SERVICE NAME,那么我应该使用TNS名称。