专栏首页授客的专栏Java java jdbc thin远程连接并操作Oracle数据库

Java java jdbc thin远程连接并操作Oracle数据库

测试环境

数据库:linux 下Oracle_11g_R2

编码工具:Eclipse

编码平台:Win7(未安装Oracle数据库,也没安装ODBC驱动)

JDK:jdk-6u14-windows-i586

备注:想学oracle的同学,建议在Linux、Unix平台下进行学习,如果觉得安装麻烦,可以加全国软件性能测试交流群:7156436,免费获取Oracle_11g_R2 linux虚拟机及官方英译汉安装教程(该资料由授客提供)。

操作步骤

1. 获取jar包

从Oracle数据库服务器所在的Linux服务上获取Jar包--classes12.jar,其目录为

$ORACLE_HOME/oui/jlib/classes12.jar

将jar包放在指定位置(本例 d:\classes12.jar)

2. 用eclipse新建工程

1) 新建名为Test的Porject:File -> New -> New -> Java Project

2) 为Test新建包testpckg:File -> New -> Package

3) 在包testpckg下新建名为OracleConnection的类:File -> New -> Class

结果如下:

3. 添加外部的jar包-classes12.jar

右键Project(本例为Test)-> Properties,打开如下对话框,按图示箭头顺序操作

打开后如下,

点击Ok,左侧导航显示如下

4. 编码

CREATE TABLE test_table (
  id  NUMBER(5) PRIMARY KEY,
  name  VARCHAR2(15) NOT NULL
  )
  TABLESPACE testtbs01;
OracleConection.java代码如下:
package testpckg;
import java.sql.*;
public class OracleConection {
  //定义连接字符串(协议名:jdbc:oracle:thin@oracle据库服务器主机ip:数据库监听端口号:SID)
  private String url = "jdbc:oracle:thin:@172.25.75.14:1521:orcl11g";
  private String userName = "system";  //数据库用户名
  private String password = "abc123";  //登录密码
  private Connection connector;
  private Statement statement;
  private ResultSet rs = null;
  public OracleConection() {
  try {
  Class.forName("oracle.jdbc.driver.OracleDriver");  //加载驱动
  connector = DriverManager.getConnection(url, userName, password); //建立连接
  statement = connector.createStatement();
  } catch (ClassNotFoundException ex) {
  System.out.println("Error:Can't Load the SQL Server Driver");
  } catch (SQLException ex) {
  System.out.println("Error:Can't connect to Database!");
  }
  } 
  public ResultSet executeQuery(String sql) { 
  rs = null; 
    try { 
    rs = statement.executeQuery(sql); 
    } catch (SQLException e) { 
    e.printStackTrace(); 
    } 
    return rs; 
  } 
  public boolean executeUpdate(String sql) { 
  try { 
  statement.executeUpdate(sql); 
  return true; 
  } catch (SQLException e) { 
  e.printStackTrace(); 
  return false; 
  } 
  } 
  public void finalize() {
    try { 
    connector.close(); 
    statement.close(); 
  } catch (Exception e) { 
  e.printStackTrace(); 
  } 
  }
  public static void main(String[] args) {
  ResultSet rs = null;
  boolean flag = false;
  OracleConection obj =  new OracleConection();
  //执行查询
  rs = obj.executeQuery("select * from test_table");  //注意,不能有分号
    try { 
    while (rs.next()) {  //遍历结果
    System.out.println("id:"+rs.getString(1)+" name:"+rs.getString(2)); 
    } 
    } catch (Exception e) { 
    e.printStackTrace(); 
    }
  }
}

5. 导出jar文件

右键工程(本例为Test) -> Export,打开如下对话框,选择Java -> JAR file

点击Next,如下图,设置jar文件名。

接下来,点击Next或这Finish(因为后续的步骤一般按默认即可)

查看工程文件Test目录下,生成了Test_fat2.jar文件(该文件可供其他程序使用)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 测试思想-测试设计 关于测试用例设计的一点感想

    描述:打开二维码扫描卡券,可对卡券进行验证。支持的卡券分三种,会员主卡,折扣券,代金券,点击手动输入按钮(不知为何,拍照时显示成那熊样了),弹出如下界面

    授客
  • Postman Postman接口测试工具使用简介

    注:url仅输入http://xx.xxx.xxxx.xxx/ timeline/postandcheck.do 部分,剩余部分是下面编辑参数时自动输入的

    授客
  • CSS 解决z-index上层元素遮挡下层元素点击事件问题

    如下,有以下界面,其中右侧边时一个ElementUI Dialog模态对话框,希望在对话框上执行点击操作时,不会点击到被对话框遮挡的页面的按钮,同时,也希望可以...

    授客
  • 产业互联网的变奏曲

    这其实与产业互联网的本质是相悖的,因为产业互联网的关键点不再于B端流量的获取,而在于对于B端流量的深度改变上。

    孟永辉
  • Linq、EF和SQL语法有什么差别?

    高渡号外《新手编程1001问》专栏,从第6期开始,将陆续发布一些关于 C#/ .Net 技术的问题和解答,供关注本公众号的读者收藏和参考。有兴趣参与的同学,可...

    高一峰
  • 3.4 C++逻辑运算和逻辑表达式

    C++的逻辑常量只有两个:false和true,逻辑型变量的定义是用bool,bool类型的值只能是true或者false

    C语言入门到精通
  • H3C学习 | 配置命令 | IRF用LACP MAD检测配置

    A和B做IRF C为中间设备,C和AB相连的端口分别是4/0/1 4/0/2 ,AB和C相连的端口分别是 1/4/0/1 2/4/0/2

    网络技术联盟站
  • geotrellis使用(九)使用geotrellis进行栅格渲染

    目录 前言 图像渲染 总结 参考链接 一、前言        前面几篇文章讲解了如何使用Geotrellis进行数据处理、瓦片生成等,今天主要表一下如何使用Ge...

    魏守峰
  • 【swupdate文档 三】SWUpdate: 嵌入式系统的软件升级

    本项目被认为有助于从存储媒体或网络更新嵌入式系统。但是,它应该主要作为一个框架来考虑,在这个框架中可以方便地向应用程序添加更多的协议或安装程序(在SWUpdat...

    zqb_all
  • 主成分分析PCA

    如图所示,这是一个二维点云,我们想找出方差最大的方向,如右图所示,这个最大方向的计算,就是PCA做的事情。在高维情况下,PCA不光可以计算出最大方差方向,还可以...

    NT4.4

扫码关注云+社区

领取腾讯云代金券