我在带有OC4J应用程序服务器的Sql Server数据库上运行了一个应用程序。我已经定义了两个数据源 - 一个用于我当前的应用程序,另一个用于我希望调用的存储过程。
存储过程安装在Oracle数据库中。从我的应用程序中,我使用以下代码查找oracle数据源:
public void setExternalSystemDataSource(final String dataSourceString)
throws SQLException {
try {
final Context ic = new InitialContext();
externalSystemDataSource = (DataSource) ic.lookup(dataSourceString);
} catch (NamingException e) {
log.error("Could not look up datasource at " + dataSourceString);
}
}
不幸的是,查找失败,因为无法找到数据源。
问题似乎集中在连接Sql Server - > Oracle已经尝试了与Oracle上的存储过程类似的设置,并且能够使Oracle工作 - >甲骨文。
数据源定义如下:
<managed-data-source login-timeout="60" connection-pool-name="SSConnPool" jndi-name="jdbc/OracleDS" name="OracleDS"/>
<connection-pool name="SSConnPool">
<connection-factory factory-class="net.sourceforge.jtds.jdbc.Driver" user="username" password="password" url="jdbc:jtds:sqlserver://HUD-EDINBURGH:1433;DatabaseName=fw_test_el;sendStringParametersAsUnicode=false"/>
</connection-pool>
<managed-data-source connection-pool-name="jdbc/ExternalSystemDS" jndi-name="jdbc/ExternalCoreDS" name="ExternalSystemsDS" />
<connection-pool name="jdbc/ExternalSystemDS">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="username" password="password" url="jdbc:oracle:thin:@localhost:1522:xe"/>
</connection-pool>
我可能需要使用其他JDBC驱动程序吗?
最值得赞赏的任何想法,如有必要,可以提供更多详细信息。
感谢。