gpt4 book ai didi

java - 如何建立 JDBC 连接

转载 作者:行者123 更新时间:2023-11-29 07:54:04 25 4
gpt4 key购买 nike

我正在使用以下类作为我的连接管理器,通过数据源建立数据库连接。问题是,当我通过我的 DAOImpl 类调用此类时,它返回 null。

private static DataSource dataSource;
private static Connection connection;

private ConnectionFactory() {
System.out.println(" ConnPoolFactory cons is called ");
}

public static synchronized Connection getConnection() throws SQLException {

try {

if (connection == null) {
Context ctx = new InitialContext();
Context envContext = (Context) ctx.lookup("java:/comp/env");


dataSource = (DataSource) envContext.lookup("jdbc/myoracle");
connection = dataSource.getConnection();
} else {
return connection;
}

} catch (NamingException e) {
e.printStackTrace();
}
System.out.println(connection);
return connection;
//System.out.println(connection);

}
  • 如果我使用 DriverManager 进行连接,我就能让这个类工作。
  • 我能够使用 DataSource 通过 servlet 类实现 JDBC 连接。

但是使用上面的代码我得到以下异常:

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:

下面是我的context.xml

<Resource auth="Container"           driverClassName="oracle.jdbc.OracleDriver"           name="jdbc/myoracle"           password="password"           type="javax.sql.DataSource"           url="jdbc:oracle:thin:@10.49.116.42:1521:DBNAME"           username="username"/>

最佳答案

我想你错过了数据库连接的主机和端口

关于java - 如何建立 JDBC 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19152792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com