Java Web应用与Oracle连接问题一例

合集下载

Java连接Oracle数据库实例解析

Java连接Oracle数据库实例解析

Java连接Oracle数据库实例解析

数据库的操作是当前系统开发必不可少的开发部分之⼀,尤其是在现在的⼤数据时代,数据库尤为重要。但是你真的懂得Java与数据库是怎么连接的么?

先给⼤家⼀个数据库连接的简单实例:

package com.java.dbtest;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class TestConnection implements DBTest{

public void SelectUser(){

//设定数据库驱动,数据库连接地址、端⼝、名称,⽤户名,密码

String driverName="oracle.jdbc.driver.OracleDriver";

String url="jdbc:oracle:thin:@localhost:1521:BJPOWERNODE"; //test为数据库名称,1521为连接数据库的默认端⼝

String user="system"; //aa为⽤户名

String password="bjpowernode"; //123为密码

PreparedStatement pstmt = null;

ResultSet rs = null;

//数据库连接对象

Connection conn = null;

java 连oracle方法

java 连oracle方法

java 连oracle方法

在Java中连接Oracle数据库通常使用JDBC(Java Database Connectivity)来实现。首先,你需要确保已经安装了Oracle数据库,并且已经设置了数据库的连接信息,包括主机名、端口号、数据库名称、用户名和密码。接下来,你需要下载并安装Oracle提供的JDBC驱动程序,然后在Java程序中引入该驱动程序。

在Java代码中,你可以使用以下步骤来连接Oracle数据库:

1. 加载并注册JDBC驱动程序,使用Class.forName()方法加载并注册Oracle JDBC驱动程序,例如,

Class.forName("oracle.jdbc.driver.OracleDriver")。

2. 建立数据库连接,使用DriverManager.getConnection()方法建立与Oracle数据库的连接,传入数据库连接URL、用户名和密码,例如,Connection connection =

DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:ORCL", "username", "password")。

3. 执行SQL查询或更新,一旦建立了数据库连接,你就可以使

用Connection对象创建Statement或PreparedStatement来执行SQL查询或更新操作,例如,Statement statement = connection.createStatement()。

java oracle connection isvalid 返回false

java oracle connection isvalid 返回false

java oracle connection isvalid 返回false

如果在使用Java连接Oracle数据库时,调用Connection.isValid()方法返回false,可能有以下几个原因:

1.连接已关闭:确保在调用isValid()方法之前,数据库连接没有被关闭。

2.连接超时:连接可能由于闲置时间过长而被数据库服务器断开。可以尝试设置连接

池的参数,如idleTimeout,来保持连接的活跃状态。

3.网络问题:检查网络连接是否正常。如果数据库服务器无法从Java应用程序所在的

机器访问,那么连接可能会被视为无效。

4.数据库服务器问题:如果Oracle数据库服务器出现问题,比如重启或者宕机,那么

现有的连接可能会被视为无效。

5.JDBC驱动问题:确保你使用的JDBC驱动与Oracle数据库版本兼容。有时候,驱

动的问题可能会导致isValid()方法返回不正确的结果。

6.配置问题:检查连接字符串(URL)、用户名、密码等配置信息是否正确。

7.防火墙或安全设置:防火墙或安全软件可能阻止了Java应用程序与数据库服务器之

间的通信。

8.Oracle服务未运行:确保Oracle服务正在运行,并且监听器(Listener)也已启动。

为了解决这个问题,你可以尝试以下步骤:

•确认数据库服务器的状态和网络连通性。

•检查JDBC驱动的版本和兼容性。

•如果使用了连接池,请检查连接池的配置,特别是与超时和验证连接有效性相关的设置。

•查看Oracle数据库的日志,以获取可能的错误信息或警告。

•尝试使用不同的工具或方法(如SQL*Plus)来验证数据库连接是否正常。

JAVA连接ORACLE数据库步骤

JAVA连接ORACLE数据库步骤

JAVA连接ORACLE数据库步骤

Java是一种跨平台的编程语言,可以用于连接和操作各种类型的数

据库,包括Oracle数据库。连接Oracle数据库的步骤如下:

3. 加载驱动:在Java程序中加载Oracle数据库的驱动程序。可以使用Class.forName(方法来加载驱动,如下所示:

```

Class.forName("oracle.jdbc.OracleDriver");

```

4. 创建连接:使用DriverManager类中的getConnection(方法创建与Oracle数据库的连接。在连接方法中,需要传递数据库的URL、用户

名和密码等参数。例如:

```

String username = "your-username";

String password = "your-password";

Connection conn = DriverManager.getConnection(url, username, password);

```

5. 执行SQL语句:通过创建的连接对象,可以执行各种SQL语句来对数据库进行操作。可以使用Statement或PreparedStatement对象来执行SQL语句。例如,查询所有的表格:

```

Statement stmt = conn.createStatement(;

ResultSet rs = stmt.executeQuery("SELECT * FROM ALL_TABLES");

while (rs.next()

String tableName = rs.getString("TABLE_NAME");

java oracle面试题

java oracle面试题

java oracle面试题

1. 介绍Java和Oracle

Java是一种高级编程语言,具有面向对象的特性,可用于开发各

种应用程序和平台。Oracle是一种关系型数据库管理系统,被广泛用

于数据存储和管理。Java和Oracle常常被同时使用,因为Java提供了

与Oracle数据库进行交互的强大工具和API。

2. Java面试题

2.1 什么是Java?

Java是一种面向对象的编程语言,具有跨平台的特性。它由Sun Microsystems(现在是Oracle)开发,可用于开发Web应用、桌面应用、移动应用和嵌入式应用。

2.2 Java的主要特点有哪些?

- 简单易学:Java的语法类似于C++,但是去除了一些复杂和不

安全的特性,使得Java更易于学习和使用。

- 面向对象:Java支持面向对象的编程范式,提供类、继承、封装、多态等特性。

- 跨平台性:Java程序可以在不同平台上运行,只需在目标平台上安装Java虚拟机(JVM)。

- 安全性:Java提供了多种安全机制,如内存管理和异常处理,以及安全类库和安全管理器。

- 大型库支持:Java拥有庞大的开发者社区和丰富的类库,可用于快速开发各种应用。

2.3 什么是Java虚拟机(JVM)?

Java虚拟机是Java程序运行的环境。它负责将Java字节码翻译成机器码,并提供内存管理和垃圾回收、安全管理、线程管理等功能。

2.4 Java的基本数据类型有哪些?

Java的基本数据类型包括:整数类型(byte、short、int、long)、浮点数类型(float、double)、字符类型(char)、布尔类型(boolean)。

Oracle与java连接方法

Oracle与java连接方法

一次连接数据库怎么也连接不上,查了多方面资料,终于找到答案,总结

首先应该保证数据库的服务启动

在myeclipse的数据库视图中点右键->new 弹出database driver的窗口,

Driver template选择oracle(thin driver),

Driver name 输入oracle

connection URL=jdbc:oracle:thin:@localhost:1521:oracle 注意localhost:1521:oracle中的oracle 是数据库得sid 换成你自己数据库的sid 就可以

username:登陆数据库具有system权限的用户名

password:登陆数据库具有system权限的密码

点击add jar 选择ojdbc14.jar的存放位置,没有得可以到百度下一个叫ojdbc14.jar的文件。点击test driver 到此成功配置。

关于启动数据库后提示ora-12505的解决方法:

"listener does not currently know of SID given in connect descriptor "

第一种可能

是配置得数据库sid 名不正确localhost:1521:oracle 即红字部分不是你本机得sid ,那么如何查看本机得sid 呢?

用如下命令SELECT NAME FROM v$database ;应该是以sysdba的身份进行的操作,在sqlplus中执行就可以看到,把红字部分换成查询出来的sid 就可以。

Java与Oracle9i数据库的JDBC连接方法解析

Java与Oracle9i数据库的JDBC连接方法解析
的活动网页 、 J MS 的 面 向 消息 的 中间件 、R MI 的 远 程 对象 调 用
( “ j d b c : o r a c l e : t h i n : @ m y h o s t : 1 5 2 1 : O R C L ”,“ S t u d ”,“ l i u l i ”) ;
Y R&D
J a v a 与Or a c l e 9 i 数据库 /  ̄ J DB C 连接方法解析
刘 俊姝 ( 大庆 油 田公 司第 一采 油厂 第二 油矿 。 黑龙 江 大庆 1 6 3 2 5 7)
摘 要 随着 I n t e r n e t 的广泛发展 ,J a v a的面向对象、平台无关及模块分布应用等特点 , 给 网络编程界 带来了新的 革命 。0 r a c l e 9 i 数据库相应 同时发展为应用服务器与数据库服务器。企业体 系发展为多个应用对 象具有 良好的定义接 口, 从瘦客端上访 问服务器上信息和应用更为方便。J a v a与 O r a c l e 9 i 数据 库的连接体现有三个方面 , 本篇重点解析 J a v a 与0 r a c l e 9 i 数据 库的 J D B C 连接方法 , 展示 J D B C是基 于 S Q L的类 似 O D B C的 J a v a 数 据库 连接 的一 个规 范。
/ / 查 询学 员 姓名
S t a t e m e n t s t mt = c o n n . c r e a t e S t a t e m e n t 0 ; R e s u l t S e t r s e t - s t m t . e x e c u t e Q u e r y (“ S E L E C T s n a me F O R M

java连接oracle数据库方法及测试[精华]

java连接oracle数据库方法及测试[精华]

package com.java.dba;

import java.sql.*;

public class Bc {

// 声明数据库地址及驱动

private Connection conn = null;

private String url = "jdbc:oracle:thin:@localhost:1521:ORCL";

private String driver = "oracle.jdbc.driver.OracleDriver";

private String user = "www";

private String password = "www";

// 主函数

public static void main(String[] args) {

Bc bc = new Bc();

String sql="select * from T_USERS";

String sql1 = "insert into T_USERS values ('rrr','ooo')";

String sql2 ="update T_USERS set USERSPASSWORD = '888888888884444' where USERSNAME= 'www'";

ResultSet rs= bc.select(sql);

bc.execute(sql1);

bc.execute(sql2);

try{

//显示查询出来的结果------------------

ResultSetMetaData rmeta = rs.getMetaData();

oraclejava面试题及答案

oraclejava面试题及答案

oraclejava面试题及答案

Oracle Java 面试题及答案

1. 什么是Java虚拟机(JVM)?

答:Java虚拟机(JVM)是一个可以执行Java字节码的虚拟计算机。它是一个抽象的计算机,通过在实际的计算机上通过软件或硬件来实现。JVM提供了内存管理、垃圾回收和安全性等功能,使得Java能够

实现“一次编写,到处运行”的特性。

2. Java有哪些基本的数据类型?

答:Java有8种基本数据类型,分别是:

- 4种整型:byte(8位有符号整数)、short(16位有符号整数)、int(32位有符号整数)、long(64位有符号整数)。long类型后面

通常跟一个'L'或'l'。

- 2种浮点型:float(32位单精度浮点数)、double(64位双精

度浮点数)。double类型后面通常跟一个'D'或'd'。

- 1种字符型:char(16位Unicode字符)。

- 1种布尔型:boolean。

3. 什么是Java集合框架?

答:Java集合框架是Java中一组接口和类,用于存储和操作一组

对象。它提供了一种统一的方式来处理对象集合,包括List、Set、Map等接口,以及它们的实现类ArrayList、HashSet、HashMap等。

4. 什么是多线程?Java中如何实现多线程?

答:多线程是指一个程序中可以同时执行多个线程(任务)。Java

中实现多线程有两种主要方式:

- 继承Thread类并重写其run方法。

- 实现Runnable接口并实现其run方法,然后将Runnable实例传

java通过配置文件(Properties类)连接Oracle数据库代码示例

java通过配置文件(Properties类)连接Oracle数据库代码示例

java通过配置⽂件(Properties类)连接Oracle数据库代码⽰例 1import java.io.FileInputStream;

2import java.io.IOException;

3import java.io.InputStream;

4import java.sql.Connection;

5import java.sql.DriverManager;

6import java.sql.ResultSet;

7import java.sql.SQLException;

8import java.sql.Statement;

9import java.util.Properties;

10

11public class JdbcDemo {

12//创建对象关联配置⽂件

13private Properties pro = new Properties();

14private String driver;

15private String url;

16private String user;

17private String psw;

18

19public JdbcDemo(){

20try {

21//通过反射获取数据流

22 pro.load(this.getClass().getResourceAsStream("MyOrcDb.properties"));

23//获取配置⽂件数据

24this.setDriver(pro.getProperty("driver"));

25this.setUrl(pro.getProperty("url"));

泛微e-cology和Oracle无法启动的解决方案

泛微e-cology和Oracle无法启动的解决方案

泛微e-cology和Oracle⽆法启动的解决⽅案

最近公司的泛微OA⽆法访问,Oracle数据库也⽆法正常启动,尝试了好多⽅法,终于解决了,先说说基本情况,希望能给碰到同样问题的朋友带来⼀点帮助。

服务器操作系统:Window s Server 2016 Datacenter

泛微OA版本: e-cology V8.0,安装⽬录为D:\WEAVER……

Oracle版本:Oracle 11g,安装⽬录为D:\app\adminitartor\……

泛微OA⽆法启动,我们⾸先会想到查看启动⽇志,D:\WEAVER\ecology\log报错如下,

2017-12-13 07:38:44,217 ERROR weaver.conn.DBConnectionPool-weaver.conn.DBConnectionPool

java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)

jfinal连接oracle详解

jfinal连接oracle详解

jfinal连接oracle详解

JFinal是一款基于Java语言的轻量级Java Web开发框架,它简化了开发过程并提供了丰富的功能和插件。在JFinal中连接Oracle 数据库是一项常见的任务,本文将详细介绍如何使用JFinal连接Oracle数据库。

在开始之前,我们需要确保已经安装了Java JDK和Oracle数据库,并配置好相应的环境变量。接下来,我们将按照以下步骤进行操作:

第一步,导入JFinal和Oracle数据库的依赖包。在项目的pom.xml文件中添加以下依赖:

```xml

<dependency>

<groupId>com.jfinal</groupId>

<artifactId>jfinal</artifactId>

<version>3.8</version>

</dependency>

<dependency>

<groupId>com.oracle.database.jdbc</groupId>

<artifactId>ojdbc8</artifactId>

<version>19.3.0.0</version>

</dependency>

```

第二步,配置数据库连接信息。在项目的配置文件中,一般是在`src/main/resources`目录下的`config.properties`文件中,添加以下配置信息:

实例代码讲解Java连接Oracle数据库的各种方法

实例代码讲解Java连接Oracle数据库的各种方法

JA V A与Oracle的接口:

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

Methods for Using Java in ORACLE

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

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

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

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

JAVA 利用JDBC 连接ORACLE数据库的问题与原代码(注释)

JAVA 利用JDBC 连接ORACLE数据库的问题与原代码(注释)

dbconn = new DBConnection(); } dbconn.closeConnection(conn); }
/** * 实例化调用 * @throws SQLException * */ public static void main(String[] arg) throws SQLException{
Class.forName(db_Driver);// 加载Oracle驱动程序 //通过DriverManager的getConnection()方法获取数据库的连 接 conn = DriverManager.getConnection(db_url, db_username, db_password); }catch(Exception e){ e.printStackTrace(); } return conn; }
查看数据:select_Sql = “select * from table”; Resultset rs = stmt.excuteQuery(select_Sql);
pstmt = conn.preparedStatement(select_Sql); Resultset rs = pstmt.excuteQuery();
* 获取数据库连接 * @return */ public Connection getConnection(){
//声明Connection连接对象 Connection conn = null; try{

Java Web应用与Oracle连接问题一例

Java Web应用与Oracle连接问题一例

Java Web应用与Oracle连接问题

1.概况

刚安装的Java Web应用连接不到数据库,初步判断是数据库连接字符串没有正确配置。通常在Tomcat中可以通过配置WEB-INF下的web.xml或者applicationContext.xml文件来修改数据库连接字符串。

后询问高手,在Tomcat自身路径下也有配置文件:

%TOMCAT%\conf\Catalina\localhost\%APPNAME%.xml

修改数据库连接字符串中的IP和SID

2.探索

使用WireShark侦听网络传输内容,对比PL/SQL和JDBC连接不同。

2.1.PL/SQL Dev传送的连接字符串

2.2.JDBC传送的连接字符串

错误提示如下

基本判定是连接字符串中的SID和ServiceName导致的差异。

查询了相关资料,猜测可能是ojdbc14.jar的版本导致的问题,程序中的版本为"10.2.0.3.0",相对较新,不存在问题。

3.SID和ServiceName

转而以“数据库连接字符串”为关键字查询资料

参考:/gladfeel/blog/item/739a82ee0cbbb4092cf534f0.html

JDBC Thin Driver的格式有三种格式:

3.1.格式一:ServiceName:

jdbc:oracle:thin:@//:/

Example:jdbc:oracle:thin:@//192.168.115.1:1521/db

注意这里的格式,@后面有//,这是与使用SID的主要区别。

这种格式是Oracle推荐的格式,因为对于集群来说,每个节点的SID是不一样的,但是SERVICE_NAME确可以包含所有节点。

java oracle面试题及答案

java oracle面试题及答案

java oracle面试题及答案

Java和Oracle是目前IT行业中非常热门的技术,因此在求职过程中,对Java和Oracle的知识掌握成为了面试的重要考察点。下面将介绍一些常见的Java Oracle面试题及其答案,希望能够帮助你更好地准备面试。

1. 什么是Java?

Java是一种面向对象编程语言,由Sun Microsystems(现在是Oracle)在1995年推出。它允许开发人员编写一次,随处运行,在不同的平台上开发和部署应用程序。Java具有简单、可移植、安全和高性能等特点。

2. 请解释一下Java中的封装是什么?

封装是Java中面向对象编程的重要概念之一。它指的是将数据和对数据的操作封装在一起,形成一个类。通过封装,可以提高数据的安全性和可维护性,同时也方便了代码的重用。

3. 请解释一下Java中的多态是什么?

多态是指同一个方法可以根据调用的不同对象产生不同的行为。在Java中,实现多态的方式有两种:方法重载和方法重写。方法重载指的是在一个类中定义多个同名的方法,但参数类型或个数不同,以便根据不同的参数选择正确的方法调用。方法重写指的是在子类中重新定义父类中已经存在的方法,以便根据不同的对象选择正确的方法调用。

4. 请解释一下什么是Java中的异常?

异常是在程序运行过程中可能出现的错误或异常情况。在Java中,异常分为两种类型:已检查异常(Checked Exception)和未检查异常(Unchecked Exception)。已检查异常通常由外部条件引起,例如文件不存在、网络连接中断等。未检查异常通常由程序自身的错误引起,

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java Web应用与Oracle连接问题

1.概况

刚安装的Java Web应用连接不到数据库,初步判断是数据库连接字符串没有正确配置。通常在Tomcat中可以通过配置WEB-INF下的web.xml或者applicationContext.xml文件来修改数据库连接字符串。

后询问高手,在Tomcat自身路径下也有配置文件:

%TOMCAT%\conf\Catalina\localhost\%APPNAME%.xml

修改数据库连接字符串中的IP和SID

workDir="work/Catalina/localhost/LogisticCall">

auth="Container"

description="SqlServer Datasource "

name="jdbc/logisticcallsource"

type="javax.sql.DataSource"

password="135246"

driverClassName="oracle.jdbc.driver.OracleDriver"

maxIdle="2"

maxWait="5000"

username="orclfl"

url="jdbc:oracle:thin:@10.96.149.65:1521:dlwl"

maxActive="4"/>

刷新页面,仍然报错无法连接:

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

The Connection descriptor used by the client was:

10.96.149.65:1521:DLWL

)

2.探索

使用WireShark侦听网络传输内容,对比PL/SQL和JDBC连接不同。

2.1.PL/SQL Dev传送的连接字符串

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.96.149.66)(PORT=1521))(LO AD_BALANCE=yes)(CONNECT_DA TA=(SERVER=DEDICATED)(SERVICE_NAME=dlwl)(F AILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))

(CID=(PROGRAM=E:\apps\PLSQL Developer 9.0.0.1601\plsqldev.exe)

(HOST=PC-XK)(USER=Administrator))(INSTANCE_NAME=dlwl1)))

2.2.JDBC传送的连接字符串

(DESCRIPTION=(CONNECT_DATA=(SID=DLWL)(CID=(PROGRAM=)(HOST=__jdbc__)( USER=)))(ADDRESS=(PROTOCOL=tcp)(HOST=10.96.149.65)(PORT=1521)))

错误提示如下

(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12505)(ERROR_STACK=(ERROR =(CODE=12505)(EMFI=4))))

基本判定是连接字符串中的SID和ServiceName导致的差异。

查询了相关资料,猜测可能是ojdbc14.jar的版本导致的问题,程序中的版本为"10.2.0.3.0",相对较新,不存在问题。

3.SID和ServiceName

转而以“数据库连接字符串”为关键字查询资料

参考:/gladfeel/blog/item/739a82ee0cbbb4092cf534f0.html

JDBC Thin Driver 的格式有三种格式:

3.1.格式一: ServiceName:

jdbc:oracle:thin:@//:/

Example: jdbc:oracle:thin:@//192.168.115.1:1521/db

注意这里的格式,@后面有//, 这是与使用SID的主要区别。

这种格式是Oracle 推荐的格式,因为对于集群来说,每个节点的SID 是不一样的,但是SERVICE_NAME 确可以包含所有节点。

3.2.格式二: SID:

jdbc:oracle:thin:@::

Example: jdbc:oracle:thin:192.168.112.1:1521:XXX

Note: Support for SID is being phased out. Oracle recommends that users switch over to usingservice names.

3.3.格式三:TNSName:

jdbc:oracle:thin:@

Example: jdbc:oracle:thin:@tns_a

Note:

Support for TNSNames was added in the driver release 10.2.0.1

4.解决

修改配置中的数据库连接字符串为url="jdbc:oracle:thin:@//10.96.149.65:1521/dlwl"

问题解决。

相关文档
最新文档