当前位置: 技术问答>java相关
JAVA连Oracle数据库的问题(急啊!!!),若解决,必给分!!!
来源: 互联网 发布时间:2015-06-24
本文导语: 小弟我编写了如下程序段,用来在RED LINUX 6.2的Oracle客户端读取 Oracle服务器端的表数据;并且此时在Linux客户端用SQL*PLUS可以登录到 Oracle服务器端。(在TNSNAMES.ORA里已做了正确的配置)。但出现了错误, 无法读取数...
小弟我编写了如下程序段,用来在RED LINUX 6.2的Oracle客户端读取
Oracle服务器端的表数据;并且此时在Linux客户端用SQL*PLUS可以登录到
Oracle服务器端。(在TNSNAMES.ORA里已做了正确的配置)。但出现了错误,
无法读取数据。敬请各路大虾赐教,若能解决问题,必将给分。
import java.sql.*;
class zhu
{
public static void main (String[] args)
{
try
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from aa");
while (rs.next())
System.out.println(rs.getString("name")+" "+rs.getString("id"));
}
catch (java.sql.SQLException e)
{ e.printStackTrace(); }
}
}
错误如下:
java.sql.SQLException: io exception: The Network Adapter could not establish the connection as oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java, Compiled Coed)
at oracle.jdbc.driver.OracleleConnection.(oracleConnection.java, Compiled Code)
at java.sql.drivermanager.getconnection(drivermanager.java:457)
at java.sql.drivermanager.getconnection(drivermanager.java:137)
at zhu.main(zhu.java:14)
Oracle服务器端的表数据;并且此时在Linux客户端用SQL*PLUS可以登录到
Oracle服务器端。(在TNSNAMES.ORA里已做了正确的配置)。但出现了错误,
无法读取数据。敬请各路大虾赐教,若能解决问题,必将给分。
import java.sql.*;
class zhu
{
public static void main (String[] args)
{
try
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from aa");
while (rs.next())
System.out.println(rs.getString("name")+" "+rs.getString("id"));
}
catch (java.sql.SQLException e)
{ e.printStackTrace(); }
}
}
错误如下:
java.sql.SQLException: io exception: The Network Adapter could not establish the connection as oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java, Compiled Coed)
at oracle.jdbc.driver.OracleleConnection.(oracleConnection.java, Compiled Code)
at java.sql.drivermanager.getconnection(drivermanager.java:457)
at java.sql.drivermanager.getconnection(drivermanager.java:137)
at zhu.main(zhu.java:14)
|
没必要显示的用DriverManager.registerDriver吧!
你就用Class.forName("oracle.jdbc.driver.OracleDirver").newInstance();试试!一般我们都是这么用的。呵呵!
你就用Class.forName("oracle.jdbc.driver.OracleDirver").newInstance();试试!一般我们都是这么用的。呵呵!
|
1.网络是否有问题?
2.端口配置的是否有问题?或者linux上的listener是否启动?
解决方案:
在windows客户机上通过sqlplus连oracle,倘若可以的话再通过java程序连。
2.端口配置的是否有问题?或者linux上的listener是否启动?
解决方案:
在windows客户机上通过sqlplus连oracle,倘若可以的话再通过java程序连。
|
????????????????
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager");
i think it maybe as:
try{
Class.forName(oracle.jdbc.driver.OracleDriver);
}catch(ClassNotFoundException ex){}
conn=DriverManager.getConnection(........)
try it,good luck to you
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager");
i think it maybe as:
try{
Class.forName(oracle.jdbc.driver.OracleDriver);
}catch(ClassNotFoundException ex){}
conn=DriverManager.getConnection(........)
try it,good luck to you
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
|
你把conn打印出来看看,应该是null你是不是ip地址或库名字写错了!?
再不行换驱动!哈哈!
再不行换驱动!哈哈!
|
“java.sql.SQLException: io exception: The Network Adapter could not establish the connection as oracle.jdbc.dbaccess.DBError.throwSqlException”
出现如上错误一般都是网络连接问题,确保你的"jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager";是否正确,你改为"jdbc:oracle:thin:@127.0.0.1:1521:test","system","manager"试一试。
另外,再把“DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());”改为“Class.forName("oracle.jdbc.driver.OracleDirver").newInstance()”
如果不行在研究研究!
出现如上错误一般都是网络连接问题,确保你的"jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager";是否正确,你改为"jdbc:oracle:thin:@127.0.0.1:1521:test","system","manager"试一试。
另外,再把“DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());”改为“Class.forName("oracle.jdbc.driver.OracleDirver").newInstance()”
如果不行在研究研究!
|
你的JDBC驱动包对不对?
我怀疑是驱动程序不匹配
我怀疑是驱动程序不匹配
|
要不你这么写,
Class.forName("oracle.jdbc.driver.OracleDriver");
如果要这个驱动的话,我可以邮给你。
Class.forName("oracle.jdbc.driver.OracleDriver");
如果要这个驱动的话,我可以邮给你。
|
程序没有问题,能用SQL PLUS连接,说明连接也没有问题。最可疑地是数据库连接的配置——不是你舍的吧,看一下设置。主要是IP和端口——我相信你不会写错登陆名和密码。
别着急,慢慢试。
别着急,慢慢试。
|
1) 确定你的Oracle JDBC Driver是8.1.6以上版本的,
2)既然有Oracle客户端,就使用OCI接口
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:oci8:@test", "system", "manager");
其中,“test”是tnsnames.ora中定义的TNS名称
2)既然有Oracle客户端,就使用OCI接口
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:oci8:@test", "system", "manager");
其中,“test”是tnsnames.ora中定义的TNS名称
|
class Zhu
{
public static void main (String[] args)
{
try
{
// Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
// DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());
// conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from aa");
while (rs.next())
System.out.println(rs.getString("name")+" "+rs.getString("id"));
}
catch (java.sql.SQLException e)
{ e.printStackTrace(); }
}
}
{
public static void main (String[] args)
{
try
{
// Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
// DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());
// conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:test","system","manager");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from aa");
while (rs.next())
System.out.println(rs.getString("name")+" "+rs.getString("id"));
}
catch (java.sql.SQLException e)
{ e.printStackTrace(); }
}
}