我使用连接池连接到oracle数据库。我已经设置了我的数据源文件但是当我尝试连接时出现错误
方法getConnection()未定义类型DataSource
我搜索了互联网,这似乎不是一个常见的问题。我不确定我做错了什么。
代码是:
<datasources>
<local-tx-datasource>
<jndi-name>DefaultDS</jndi-name>
<connection-url>jdbc:oracle:thin:@ED.OPTO:1521:OPY>
<driver-class>oracle.driver.OracleDriver</driver-class>
<user-name>temiuser</user-name>
<password>password</password>
</local-tx-datasource>
import javax.activation.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import java.sql.*;
import javax.sql.*;
public class dataSource {
// load the driver
Class.forName("oracle.jdbc.OracleDriver");
String sourceFile = "java:/TVEContent";
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup(sourceFile);
Connection conn = ds.getConnection();
Statement stmnt = conn.createStatement("select * from tve");
}
请帮助!!!!
答案 0 :(得分:3)
名称冲突:import javax.sql.DataSource;
BTW应该不是ic.lookup("DefaultDS")
(目前不确定)?
答案 1 :(得分:1)
问题似乎是这个库:
导入javax.activation.DataSource;
请改为尝试:
javax.sql.DataSource ds =(javax.sql.DataSource)ic.lookup(sourceFile);
答案 2 :(得分:0)
我的猜测是你的驱动程序与你的运行时不匹配,检查你的oracle jar文件是否与你的jdk版本匹配
因为错误“方法getConnection()未定义类型DataSource”意味着:找不到Datasouce版本“1.foo”的方法getConnection()。您的驱动程序方法getConnection()实现了数据源版本“1.bar”