我正在尝试制作多租户应用程序。我已经关注this教程,还有this one。所以,context.xml
中的内容是:
<Resource
name="jdbc/DB-xxx"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20"
maxIdle="5"
maxWaitMillis="10000"
username="xxx"
password="pass"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@//xxxurl:1521:ORCL"
/>
<Resource
name="jdbc/DB-aaa"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20"
maxIdle="5"
maxWaitMillis="10000"
username="aaa"
password="pass"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@//aaaurl:1521:ORCL"
/>
我还有JNDI指向defaut.properties
和jdbc.properties
中的上述内容。
当我尝试使用Pentaho Report Design连接到JNDI时,我收到了这些错误:
Error connecting to database [DB] :org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
javax.naming.NamingException: Invalid data source:'DB'
Invalid data source:'DB'
org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
javax.naming.NamingException: Invalid data source:'DB'
Invalid data source:'DB'
我在所有库中都有ojdbc6,所以我认为这不是问题所在。有人有任何想法吗?
谢谢!
答案 0 :(得分:0)
好的,我找到了解决方案。我正在更改错误目录中的代码。正确的是C:\Users\user\.pentaho\simple-jndi
。我已经在default
文件中放入了数据库信息并且它有效。现在我可以连接到数据库了。