我正在尝试制作一个多租户应用程序。我遵循了本教程,也遵循了本教程。所以,我在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 报表设计连接到 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,所以我认为这不是问题。有人知道吗?
谢谢!
好的,我已经找到了解决方案。我在错误的目录中更改了代码。右边是C:Usersuser.pentahosimple-jndi
.我已经在default
文件中输入了数据库信息,并且它起作用了。现在我可以连接到数据库了。