怎么实现用java远程访问oracle数据库?

我有两台电脑,Oracle数据库在第一台电脑上,第二台电脑没安装Oracle,现在想用第二台电脑编写一个Java程序,要用到第一台电脑的数据库,想问一下这样可不可以实现,... 我有两台电脑,Oracle数据库在第一台电脑上,第二台电脑没安装Oracle,现在想用第二台电脑编写一个Java程序,要用到第一台电脑的数据库,想问一下这样可不可以实现,怎样实现???
这是我第二台电脑上的Java程序,驱动已经拷到这台电脑上并配置好了:
import java.sql.*;

public class shiyan {

/**
* @param args
*/
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn;
conn=DriverManager.getConnection ("jdbc:oracle:thin:@222.18.*.*:1521:ORCL","scott","*****");
System.out.println("OK");//222.18.*.*是装有oracle数据库的电脑的IP,“*****”是scott的密码
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行之后出现了异常:
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
展开
 我来答
nilaor
2010-06-08 · TA获得超过903个赞
知道小有建树答主
回答量:537
采纳率:0%
帮助的人:532万
展开全部
这个是完全没有问题的。

先期准备:
1、两台电脑必须要联网,能够访问到
2、将oracle的驱动程序拷贝到你的java的电脑上,并设置到环境变量中。

java代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DbTest {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement prstm = null;
ResultSet rs = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@ip:port:orcl"; //数据库连接字符串,需要替换ip,port,orcl
String user="user"; //用户名,需要替换你的数据库的用户名
String password="pswd"; //密码,需要替换为对应的密码
conn = DriverManager.getConnection(url,user,password); //获取连接

prstm = conn.prepareStatement("SELECT 1 TEST_ID FROM DUAL");
rs = prstm.executeQuery();
while (rs.next()) {
System.out.println("查询结果为:" + rs.getInt("TEST_ID"));
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//使用完毕进行相关内容的关闭,注意相关顺序
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (prstm != null) {
try {
prstm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

}
百度网友635a9af4e
2010-06-08 · TA获得超过421个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:249万
展开全部
楼上正解。只要把ip改成你装oracle的电脑ip。保持网络连通状态即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
walker2007
2010-06-08 · TA获得超过114个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:80.6万
展开全部
可以
Class.forName("oracle.jdbc.dirver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.250:1521:XE", "system","system");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suyangxyz
2010-06-08 · TA获得超过464个赞
知道小有建树答主
回答量:805
采纳率:0%
帮助的人:568万
展开全部
jdbc:oracle:thin:@192.168.4.245:1521
把ip改成你的就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhanggnol
2010-06-08 · TA获得超过179个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:68万
展开全部
public class DBTools {

/**
* 得到连接 设置成static类型,直接使用类名调用
* @return
*/
public static Connection getConnection(){

String driver = "oracle.jdbc.driver.OracleDriver" ;
String url = "jdbc:oracle:thin:@127.0.0.1:1521:ZL" ;
String userName = "scott" ;
String password = "tiger" ;
Connection conn =null;

try{
//注册驱动
Class.forName(driver);
//得到连接
conn = DriverManager.getConnection(url,userName,password);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}

}
其中的url就是数据库的地址,你可以把其中的ip改成第一台电脑的ip,就可以连接了,但是前提是第一台的Oracle服务里有一个Lister要开始,否则客户端连接不上.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式