【发布时间】:2013-06-25 03:37:11
【问题描述】:
我很难连接到 Oracle 数据库 OJDBC。
Error:
“无法连接到数据库。异常消息:I / O 错误:网络适配器无法建立连接”
我正在使用 Google Web Toolkit,并在我的项目中添加了一个 SQL 数据库。
数据库名称是议程。
我找了很多,好像这个问题很多人都有,但是解决不了这个问题。
我已下载“ojdbc6.jar”并添加到我的 BUILDPATH。
我已经刷新、关闭、打开和重新打开,但我仍然看到错误。
我的规格:
Windows 7 x64
Springsource - 也在 Eclipse 中尝试过
private static final long serialVersionUID = 1L;
private Connection connection = null;
private Properties props = null;
private ClassLoader cl = null;
private String databaseURL = "";
private String databaseUser = "";
private String databasePass = "";
public void init() {
try {
// Load the database connection properties from com.gwt.agenda.GWTAgendaSample.properties
props = new Properties();
cl = this.getClass().getClassLoader();
InputStream is = cl.getResourceAsStream("com/gwt/agenda/GWTAgendaSample.properties");
props.load(is);
// Load the database access information
databaseURL = props.getProperty("databaseURL");
databaseUser = props.getProperty("databaseUser");
databasePass = props.getProperty("databasePass");
} catch (Exception e) {
e.printStackTrace();
logger.error("Error loading GWTAgendaSample.properties file.", e);
}
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
// Connect to the database
connection = DriverManager.getConnection(databaseURL, databaseUser, databasePass);
} catch (SQLException se) { messageOut = "Unable to connect to database. Exception message: " + se.getMessage();
System.out.println(messageOut);
se.printStackTrace();
// Server side log
logger.error(messageOut + "\n", se);
destroy();
} catch (Exception e) {
messageOut = "Unable to connect to database. Exception message: " + e.getMessage();
System.out.println(messageOut);
e.printStackTrace();
// Server side
logger.error(messageOut + "\n", e);
destroy();
}
}
谁能指出我正确的方向。 我错过了什么吗?
请帮忙!
已编辑!!
Unable to connect to database. Exception message: Erro de E/S: The Network Adapter could not establish the connection
java.sql.SQLRecoverableException: Erro de E/S: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.gwt.Agenda.server.GreetingServiceImpl.init(GreetingServiceImpl.java:78)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:342)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:375)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:678)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:238)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1054)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:308)
... 27 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:209)
at oracle.net.nt.ConnOption.connect(ConnOption.java:123)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:353)
... 32 more
无法连接到数据库。 异常消息:侦听器被拒绝 与以下的联系 错误:ORA-12505,TNS:listener 确实 目前不知道给出的 SID 连接描述符
【问题讨论】:
-
databaseURL=jdbc:oracle:thin:@hp-PC:1521:Agenda databaseUser=user databasePass=agenda 其中@hp-PC 是我的计算机名称,Agenda 是我的数据库名称
-
oracle 监听器是否启动并运行?
-
如何测试它?你有什么建议?
-
您应该检查侦听器是否已启动以及它是否正在侦听端口 1521 (
Caused by: java.net.ConnectException: Connection refused: connect)。尝试 netstat -a(从控制台)并查看端口 1521 是否打开 -
嗨,我已经尝试并得到了这个 Proto:TCP // 本地网络:127.0.0.1:8888 // 外部:hp-PC:0 // 状态:LISTENING。找不到任何名为 1521 的端口。我看到很多激活行和已建立状态。不知道它是否应该发生。我记得我很久以前编辑过我的主机文件。这是问题的原因吗?提前致谢