jdbc连接oracle
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdbc连接oracle相关的知识,希望对你有一定的参考价值。
jdbc:oracle:thin:@192.168.1.100:1521:test //OK
jdbc:oarcle:thin:@127.0.0.1:test //异常
jdbc:oracle:thin:@localhost:test //异常
使用Java连接oracle数据库时,URL中使用localhost或是127.0.0.1都不行,只能使用真实IP地址(192.168.1.100),这是怎么回事?我是初学者,希望大家说的详细一点!
jdbc:oarcle:thin:@127.0.0.1:1521:test //异常
jdbc:oracle:thin:@localhost:1521:test //异常
不小心写错了!不是端口的问题!
异常:
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
难道百度就没有高手了?
wwwqvod,按你说的配制过了。不过没有什么变化!在使用Java连接数据库时,URL中只能使用192.168.1.100,而不能使用127.0.0.1或是localhost。
=============
回 wwwqvod
我的电脑上不只安装了Oracle,还安装了其它数据库,其它数据库都可以使用localhost或127.0.0.1之类的URL,所以不是DNS的问题。
=============
windowsXP系统,Oracle10g
如果你要使用127.0.0.1或者localhost的端口:1521,就把test配置成127.0.0.1或者localhost
配置网络服务名的步骤:
1.开始-程序-Oracle—> Configuration and Migration Tools —> Oracle Net Configuration Assistant
2.监听程序配置/命名方法配置/本地Net服务名配置/目录使用配置 中选择"本地Net服务名配置" —>下一步
3.添加/重新配置/删除/重命名/测试 中选择 "添加" —>下一步
4.Oralce8i或更高版本数据库或服务/Oralce8发行版8.0数据库或服务 中选择"Oralce8i或更高版本数据库或服务" —>下一步
5.服务名:如:test —> 下一步
6.选择用语要访问的数据库的协议TCP/TCPS/IPC/NMP一般情况下选择"TCP" —>下一步
7.主机名可以是机器的IP(如:127.0.0.1/localhost),或机器名("我的电脑" —> 右键"属性" —>"计算机名" —>找到"完整的计算机名称" —>复制 '假设为IMTI0220,如果后面有个. ,需要去掉');端口号可以用默认的 1521,亦可以自己修改 —>下一步
8.选择"是,进行测试" —>下一步
NOTICE:9.如果测试失败,就按照提示进行修改,如:显示"正在连接...ORA01017:invalid username/password/;logon denied 测试未成功" 点击"更改登录" —>用户名和密码 就按照自己的需求进行修改,—>(此处会自动进行测试),如果显示"正在连接...测试成功。" —> 下一步
10.Net服务名:填写你自己所需要的名称,如:text —> 下一步
11.配置第一个网络服务到此结束,选择"否","完成"就退出了,如果还需要配置一个就选择"是(继续配置另外一个网络服务名)"
那就有可能是DNS解析的问题了,打开:
C:\WINDOWS\system32\drivers\etc\hosts 看下有没有
127.0.0.1 localhost 这行
问下你的操作系统是什么,oracl是什么版本的 参考技术A 一般是利用jdbc:oracle:thin:@127.0.0.1:test
jdbc:oracle:thin:@localhost:test 是会报异常的.
而你的oracle单词打错了.. 参考技术B 断网试试。。。 参考技术C jdbc:oracle:thin:@localhost:1521:test 参考技术D 检查SQL Net Listener的配置 第5个回答 2010-03-17 你访问的是别人的机子上的ORACLE?。。。
jdbc连接oracle语法
public class LangDemo { public static void main(String[] args) throws Exception{ try { //加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //创建连接 Connection cn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","hh","hh"); Statement sm=cn.createStatement(); //获得结果集 ResultSet rs=sm.executeQuery("select name,nickname,id from a"); //遍历结果集 while(rs.next()){ System.out.println("name:"+rs.getString(1));//rs.getString(“name”) System.out.println("nickname:"+rs.getString(2)); //rs.getInt(“id”) } } catch (Exception e) { e.printStackTrace(); }finally{ // rs.close(); // conn.close(); } } }
public class LangDemo { public static void main(String[] args) throws Exception{ Connection con = null;// 创建一个数据库连接 PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement ResultSet result = null;// 创建一个结果集对象 try { Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序 System.out.println("开始尝试连接数据库!"); String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE"; // 127.0.0.1是本机地址,XE是精简版Oracle的默认数据库名 String user ="system";// 用户名,系统默认的账户名 String password = "147";// 你安装时选设置的密码 con = DriverManager.getConnection(url, user, password);// 获取连接 System.out.println("连接成功!"); String sql = "select * from student where name=?";// 预编译语句,“?”代表参数 pre = con.prepareStatement(sql);// 实例化预编译语句 pre.setString(1, "张三");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引 result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数 while (result.next()) // 当结果集不为空时 System.out.println("学号:" + result.getInt("id") + "姓名:" + result.getString("name")); } catch (Exception e) { e.printStackTrace(); } finally { …….. } } }
以上是关于jdbc连接oracle的主要内容,如果未能解决你的问题,请参考以下文章