我在家看马士兵老师的视频自学JDBC,看的过程中有几个问题请教,是关于JDBC连接数据库的问题。

zqzqzq 2013-04-02 05:23:43
程序是:
import java.sql.*;

public class Testjdbc {

public static void main(String[] args) throws Exception {
new oracle.jdbc.driver.OracleDriver();
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT","scott","tiger");
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery("select * from dept");
while (rs.next()) {
System.out.println(rs.getString("deptno"));
System.out.println(rs.getInt("deptno"));
}

rs.close();
sta.close();
conn.close();
}

}

报错:
Exception in thread "main" java.sql.SQLException: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at Testjdbc.main(Testjdbc.java:7)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:359)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:672)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:237)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
... 7 more
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:141)
at oracle.net.nt.ConnOption.connect(ConnOption.java:123)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:337)
... 12 more


端口肯定是1521。
...全文
312 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqzqzq 2013-04-03
  • 打赏
  • 举报
回复
引用 13 楼 NNTT2010 的回复:
楼主能确定:OracleOraHome92TNSListener(OracleOraDb10g_home1TNSListener)Oracle的监听器服务已经启动了吗?
恩开了,我的sid弄错了
长笛党希望 2013-04-03
  • 打赏
  • 举报
回复
楼主能确定:OracleOraHome92TNSListener(OracleOraDb10g_home1TNSListener)Oracle的监听器服务已经启动了吗?
forgetsam 2013-04-03
  • 打赏
  • 举报
回复
引用 10 楼 z13903417792 的回复:
我用的是jdk7.0,导入的是ojdbc6.jar可以么
jdk最好用1.6,但是还没到那一步,你现在就是连不上数据库,你把监听和网络服务名配置好再说。
放开那个衰锅 2013-04-03
  • 打赏
  • 举报
回复
别的不说 ,你可以在main方法中抛异常啊!
zqzqzq 2013-04-02
  • 打赏
  • 举报
回复
引用 8 楼 NNTT2010 的回复:
你要连的ip是192.168.0.1?用户名、密码和数据库名是否一致? 开始-->运行-->cmd-->netstat -na 找找里面有没有如下一行: TCP 192.168.0.1 0.0.0.0:0 LISTENING 如果对的话,你看看防火墙有没有关?
我用的是jdk7.0,导入的是ojdbc6.jar可以么
zqzqzq 2013-04-02
  • 打赏
  • 举报
回复
引用 8 楼 NNTT2010 的回复:
你要连的ip是192.168.0.1?用户名、密码和数据库名是否一致? 开始-->运行-->cmd-->netstat -na 找找里面有没有如下一行: TCP 192.168.0.1 0.0.0.0:0 LISTENING 如果对的话,你看看防火墙有没有关?
我把TCP就是那个,防火墙刚关了,显示 Exception in thread "main" java.sql.SQLException: The Network Adapter could not establish the connection at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503) at java.sql.DriverManager.getConnection(DriverManager.java:579) at java.sql.DriverManager.getConnection(DriverManager.java:221) at Testjdbc.main(Testjdbc.java:8) Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:359) at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422) at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:672) at oracle.net.ns.NSProtocol.connect(NSProtocol.java:237) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301) ... 7 more Caused by: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) at java.net.Socket.connect(Socket.java:579) at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:141) at oracle.net.nt.ConnOption.connect(ConnOption.java:123) at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:337) ... 12 more
长笛党希望 2013-04-02
  • 打赏
  • 举报
回复
你要连的ip是192.168.0.1?用户名、密码和数据库名是否一致? 开始-->运行-->cmd-->netstat -na 找找里面有没有如下一行: TCP 192.168.0.1 0.0.0.0:0 LISTENING 如果对的话,你看看防火墙有没有关?
zqzqzq 2013-04-02
  • 打赏
  • 举报
回复
引用 5 楼 u010121531 的回复:
代码应该没问题,可以直接new的 不知道监听起来没
监听开了
zqzqzq 2013-04-02
  • 打赏
  • 举报
回复
监听开了,版本是11R2
童年乐趣 2013-04-02
  • 打赏
  • 举报
回复
代码应该没问题,可以直接new的 不知道监听起来没
冷风达人 2013-04-02
  • 打赏
  • 举报
回复
new oracle.jdbc.driver.OracleDriver() ???
evangelionxb 2013-04-02
  • 打赏
  • 举报
回复
Class.forName ("oracle.jdbc.driver.OracleDriver"); 不要用new 啊,大哥
soyestrellafortuna 2013-04-02
  • 打赏
  • 举报
回复
你确定ip是192.168.0.1?
evangelionxb 2013-04-02
  • 打赏
  • 举报
回复
查看下你的 oracle 版本 网上找相应的 jdbc链接工具包 我感觉是jar包和oracle版本不一致。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧