java连接Oracle java.sql.SQLException: Connection refused: connect

bill_hai 2007-11-26 07:35:05
大家帮忙看看这是怎么回事,我刚开始连数据库,希望大家帮我细说一下.
String DBURL  = "jdbc:oracle:thin:@localhost:1521:ORCL" ;
String DBUSER  = "scott" ;
String DBPASSWORD= "tiger" ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;//此句出现异常.
ORCL是我在服务里的"OracleServiceORCL"找到的.
用户名和密码都对,Oracle已经启动.
是不是Oralce 在程序外还需要配置一下,我用的是Windows XP.
...全文
643 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bill_hai 2007-11-27
  • 打赏
  • 举报
回复
用不用在  数据源(ODBC) 设置什么东西.我看很多书都这样设置.
liuchyx2007 2007-11-27
  • 打赏
  • 举报
回复
import java.sql.*;
class dbAccess {
public static void main (String args []) throws SQLException
{
try {
Class.forName ("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

Connection conn = DriverManager.getConnection
("jdbc:oracle:oci8:@ORA1", "scott", "tiger");
// or oci9 @Service, userid, password
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery (
"select BANNER from SYS.V_$VERSION"
);
while (rset.next())
System.out.println (rset.getString(1)); // Print col 1
stmt.close();
}
}

java与oracle的接口:

在数据库中运行JAVA可以说是ORACLE8i的最令人激动的新特性。在你创建的使用ORACLE8i 数据库的应用程序中,你可以使用与JAVA有关的新特征,轻松的将程序发布到INTERNET或INTRANET上。

Methods for Using Java in ORACLE==================================

大家都知道JAVA在跨平台开发与INTERNET开发中已经比较流行,ORACLE8i及以后的版本中都包含了对在数据库中运行JAVA的扩展支持,这里有两种方法可以使用:

JDBC:与ODBC类似, JDBC 提供了一个驱动接口使你可以在JAVA程序中访问数据库。注:JDBC驱动内嵌在数据库中虚拟机中。

SQLJ:是一个JAVA预编译器,它可以将内嵌的SQL语句转化为JAVA语句.SQLJ的使用与运行机理与其它ORACLE的与编译器(如Pro*C,Pro*COBOL)类似。实际上,为了使我们形象的记住SQLJ提供的功能,我们也可以直接将SQLJ改名为Pro*Java。

将JAVA集成到数据库中是双向的。也就是说你可以在JAVA中调用SQL与PL/SQL,也可以在SQL与PL/SQL中调用JAVA。JAVA程序可以直接通过JDBC驱动调用SQL与PL/SQL,反过来,你也可以在SQL与PL/SQL中直接调用JAVA。在数据库中,JAVA命名空间直接映射到数据库模式的命名空间中,这样可以方便JAVA的存取与调用。数据库同时提供扩展的DDL语句,通过这些语句,你可以象创建一个存储过程一样在数据中创建内嵌的JAVA程序。

Features of ORACLE JDBC Drivers
=================================
在ORACLE8i中有三种类型的JDBC驱动,他们都使用相同的 syntax, APIs, and Oracle extensions,以使JAVA代码在robust clients、Web-based Java applets, and Java stored procedures之间保持轻便灵活:三种类型如下:
1.JDBC OCI: 此驱动类似于传统的ODBC 驱动。因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件
2.JDBC Thin: 这种驱动一般用在运行在WEB浏览器中的JAVA程序。它不是通过OCI or Net8,而是通过Java sockets进行通信 ,因此不需要在使用JDBC Thin的客户端机器上安装客户端软件。
3.JDBC KPRB: 这种驱动由直接存储在数据库中的JAVA程序使用,如Java Stored Procedures 、triggers、Database JSP's。It uses the default/ current database session and thus requires no additional database username, password or URL.

如何配置使JAVA可以通过Oracle JDBC Drivers连接到数据库:1.安装Sun JDK.
2. 修改PATH环境变量,使其指向JDK的bin目录
3. 设置CLASSPATH环境变量,使其指向正确的JDK的lib及oracle的JDBC接口。
CLASSPATH = ".;????"
3. 运行"java –version" ,验证java的版本。


如何在不同的操作系统上根据接口类型设置客户端:
对JDBC THIN接口:
在windows与unix下的设置方法一样:
1.根据jdk的版本,只需要将classesxx.zip拷贝到指定的目录,不需要安装Oracle Client。在装完数据库后,该文件会在$ORACLE_HOME/jdbc/lib目录下。2.设置CLASSPATH,使其包含上面的classesxx.zip
3.根据需要,拷贝oracle的其它zip文件并设置CLASSPATH

对JDBC OCI接口:
Fow Windows:
1.安装Oracle Client.
2.根据jdk的版本,设置CLASSPATH,使其包含正确的classesxx.zip
3.根据需要设置CLASSPATH,使其指向Oracle的其它zip文件
4.设置PATH,使其包含$ORACLE_HOME\bin目录

For unix:
1.安装Oracle Client.
2.根据jdk的版本,设置CLASSPATH,使其包含正确的classesxx.zip
3.根据需要设置CLASSPATH,使其指向Oracle的其它zip文件
4.设置LD_LIBRARY_PATH,使其包含$ORACLE_HOME/lib目录

备注:
classesxx.zip一般在ORACLE_HOME\jdbc\lib目录下。

在ORACLE_HOME\jdbc\lib目录下的与Oracle JDBC Drives驱动有关的文件的解释:
- classes12.zip
Classes for use with JDK 1.2.x. It contains the JDBC driver
classes except classes necessary for NLS support in Object and
Collection types.

- nls_charset12.zip
NLS classes for use with JDK 1.2.x. It contains classes necessary
for NLS support in Object and Collection types.

- classes12_g.zip
Same as classes12.zip, except that classes were compiled with
"javac -g".

cocosunshine 2007-11-27
  • 打赏
  • 举报
回复
oracle adapter 开了吗?
imA 2007-11-26
  • 打赏
  • 举报
回复
不需要配置,应该还是你的信息没设置正确,或者你的端口没有打开

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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