对于DataSource类型,方法getConnection()未定义

时间:2012-02-22 21:46:37

标签: java datasource

我使用连接池连接到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");

}

请帮助!!!!

3 个答案:

答案 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”