[英]JDBC Connection Error to Oracle Database
我正在尝试建立从Java到Oracle DB的连接。 (我的数据库在另一台机器上)
我所知道的URL形式如下:String url =“ jdbc:oracle:thin:@hostname:portnumber:sid”;
这是我的Java代码来建立连接:
package net.metric.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DemoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text");
PrintWriter out = response.getWriter();
System.out.println("-------- Oracle JDBC Connection Testing ------");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your Oracle JDBC Driver?");
e.printStackTrace();
return;
}
try{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//CONNECT TO DB
String url = "jdbc:oracle:thin:@252.112.60.47:1521:XE";
System.out.println(url);
Connection conn = DriverManager.getConnection(url,"EXT02501231","Tellcom30");
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
System.out.println("OK");
/* ResultSet rset =
stmt.executeQuery("select * from SBO_AUDIT_NEW.AUDIT_EVENT");
while (rset.next()) {
System.out.println (rset.getString(1));
}
stmt.close();
System.out.println ("Ok.");*/
}catch(Exception e){
System.out.println(e.getMessage());
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
我收到此错误:
-------- Oracle JDBC Connection Testing ------
Io exception: The Network Adapter could not establish the connection
我究竟做错了什么? 任何答案将不胜感激..谢谢
有三种写入jdbc url的方法。
如果要使用服务名称进行连接,则应在服务名称前加上/
jdbc:oracle:thin:@hostname:port/service_name --- In your case this is how you need the url
如果与sid连接,则应在sid之前加上:
jdbc:oracle:thin:@hostname:port:sid
或在@之后使用tns文件中的描述
jdbc:oracle:thin:@(DESCRIPTION=....)
但是它们都不是导致您出现问题的原因。 此错误不是SQLException。 这是TCP / IP连接异常。 这意味着您以某种方式无法到达机器。
您是否可以使用另一个客户端连接到数据库? 我看到您正在使用TOAD。 您可以与蟾蜍连接吗? 您需要确保可以访问服务器。
尝试在命令行上ping通计算机
ping 85.29.60.47
如果您收到响应,请在端口上尝试telnet
telnet 85.29.60.47 1521 -- You must have a telnet client installed to do that.
您可能会看到ping或telnet失败。 因此,这可能是防火墙问题。 您需要做的是就此问题与网络管理员联系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.