https://www.cnblogs.com/joyny/p/11176643.html

https://community.oracle.com/thread/4096458

import java.io.PrintStream;
import java.sql.*;
import java.util.Properties;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class ZJdbcPing {
public static void main(String[] args) {
PrintStream outs = System.out;
// title.
outs.println("zjdbcping <driverClassName> <url> <username> <password>");
// oracle.jdbc.driver.OracleDriver "jdbc:oracle:thin:@192.168.3.33:1521:zjkf" crjapp crjapp
outs.println();
// args.
String driverClassName="";
String url="";
String username="";
String password="";
if (args.length>0) driverClassName=args[0];
if (args.length>1) url=args[1];
if (args.length>2) username=args[2];
if (args.length>3) password=args[3];
// connect.
Connection conn = null;
PreparedStatement statement = null;
ResultSet result = null;
try {
Class.forName(driverClassName);
conn = DriverManager.getConnection(url, username, password);
StringBuilder sql = new StringBuilder();
sql.append("select instance_name from v$instance");
statement = conn.prepareStatement(sql.toString());
result = statement.executeQuery();
int i = 0;
while(result.next()){
// System.out.println(i + result.toString());
System.out.println(String.format(">>>>> Server : [%s]", result.getString(1)));
i++;
}
}
catch(Throwable ex) {
ex.printStackTrace(outs);
}
if (null==conn) return;
// info.
try {
outs.println(String.format("getCatalog:\t%s", conn.getCatalog()));
outs.println("getClientInfo:");
Properties properties = conn.getClientInfo();
properties.list(outs);
//outs.println("getTypeMap:");
//Map<String,Class<?>> typeMap = conn.getTypeMap();
//for(String key: typeMap.keySet()) {
// Class<?> c = typeMap.get(key);
// outs.println(String.format("\t%s:\t%s", key, c.toString()));
//}
outs.println("getMetaData:");
DatabaseMetaData databaseMetaData = conn.getMetaData();
printDatabaseMetaData(outs, databaseMetaData, "\t");
}
catch(Throwable ex) {
ex.printStackTrace(outs);
}
finally {
try {
conn.close();
}
catch(Throwable ex) {
ex.printStackTrace(outs);
}
}
return;
}

private static void printDatabaseMetaData(PrintStream outs,
DatabaseMetaData dbmd, String prefix) throws Exception {
if (null==outs) return;
if (null==dbmd) return;
outs.println(prefix+String.format("getDatabaseMajorVersion:\t%d", dbmd.getDatabaseMajorVersion()));
outs.println(prefix+String.format("getDatabaseMinorVersion:\t%d", dbmd.getDatabaseMinorVersion()));
outs.println(prefix+String.format("getDatabaseProductName:\t%s", dbmd.getDatabaseProductName()));
outs.println(prefix+String.format("getDatabaseProductVersion:\t%s", dbmd.getDatabaseProductVersion()));
outs.println(prefix+String.format("getDefaultTransactionIsolation:\t%d", dbmd.getDefaultTransactionIsolation()));
outs.println(prefix+String.format("getDriverMajorVersion:\t%d", dbmd.getDriverMajorVersion()));
outs.println(prefix+String.format("getDriverMinorVersion:\t%d", dbmd.getDriverMinorVersion()));
outs.println(prefix+String.format("getDriverName:\t%s", dbmd.getDriverName()));
outs.println(prefix+String.format("getDriverVersion:\t%s", dbmd.getDriverVersion()));
outs.println(prefix+String.format("getJDBCMajorVersion:\t%d", dbmd.getJDBCMajorVersion()));
outs.println(prefix+String.format("getJDBCMinorVersion:\t%d", dbmd.getJDBCMinorVersion()));
outs.println(prefix+String.format("getURL:\t%s", dbmd.getURL()));
outs.println(prefix+String.format("getUserName:\t%s", dbmd.getUserName()));
ResultSet rs = dbmd.getClientInfoProperties();
outs.println(prefix+"getClientInfoProperties:");
printResultSet(outs, rs, prefix+"\t");
rs.close();
}

private static void printResultSet(PrintStream outs, ResultSet rs,
String prefix) throws Exception {
if (null==outs) return;
if (null==rs) return;
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
outs.println(prefix+String.format("#getColumnCount:\t%d", cols));
// col.
if (true) {
outs.print(prefix);
for(int i=1; i<=cols; ++i) {
if (i>1) outs.print('\t');
String str = rsmd.getColumnName(i);
outs.print(str);
}
outs.println();
}
// rows.
int rows = 0;
while(rs.next()) {
++rows;
outs.print(prefix);
for(int i=1; i<=cols; ++i) {
if (i>1) outs.print('\t');
Object o = null;
String str = null;
try {
o = rs.getObject(i);
if (null!=o)
str = o.toString();
}
catch(Exception ex) {
str = String.format("(%s)", ex.getMessage());
}
outs.print(str);
}
outs.println();
}
outs.println(prefix+String.format("#RowCount:\t%d", rows));
}

}
复制代码
java打jar包
方法步骤

(1)用命令行进入到该目录下,编译这个文件

   javac ZJdbcPing.java

(2)将编译后的ZJdbcPing.class文件打成jar包

   jar -cvf ZJdbcPing.jar ZJdbcPing.class

  c表示要创建一个新的jar包,v表示创建的过程中在控制台输出创建过程的一些信息,f表示给生成的jar包命名

(3) java -jar ZJdbcPing.jar 这时会报如下错误 ZJdbcPing.jar中没有主清单属性

  添加Main-Class属性

  ftp到本地,用压缩软件打开ZJdbcPing.jar,会发现里面多了一个META-INF文件夹,里面有一个MENIFEST.MF的文件,用记事本打开

1 Manifest-Version: 1.0
2 Created-By: 1.8.0_121 (Oracle Corporation)
3
  在第三行的位置写入 Main-Class: ZJdbcPing(注意冒号后面有一个空格,整个文件最后有一行空行),保存

具体运行时,还注意得用java命令来运行,并指定加载驱动 jar. 例如(/usr/local/zabbix/orabbix/lib/ojdbc6.jar")——

##java -Xbootclasspath/a:"ojdbc6-11.2.0.3.jar" -jar ZJdbcPing.jar oracle.jdbc.driver.OracleDriver "jdbc:oracle:thin:@10.10.10.245:1521:orcl" yjkj 123456
pause

java -Xbootclasspath/a:"/usr/local/zabbix/orabbix/lib/ojdbc6.jar" -jar ZJdbcPing.jar oracle.jdbc.driver.OracleDriver "jdbc:oracle:thin:@10.10.10.245:1529:ora11g" peng peng

output sql value:

>>>>> Server : [2]

location:

[root@pzabbix02 dba]# pwd
/backup/dba

转 Java连接Oracle数据库的简单示例的更多相关文章

  1. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

  2. oracle入门(5)——java连接oracle数据库

    [本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安 ...

  3. java读取ACCESS数据库的简单示例

    java读取ACCESS数据库的简单示例 虽然简单,对初学者来说,如果没有一段可以成功执行的代码供参考,还真难调试 先用ACCESS建一个数据库 DB1.MDB,里面有一表"table1&q ...

  4. Java连接Oracle数据库的三种连接方式

    背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...

  5. 一个非常标准的Java连接Oracle数据库的示例代码

    最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...

  6. Java连接Oracle数据库的示例代码

    最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径 ->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择 “D:\Oracle\ap ...

  7. java连接Oracle数据库

    Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...

  8. java连接oracle数据库的实现代码

    package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; impo ...

  9. java连接Oracle数据库实现增删改查并在Navicat中显示

    创建TEST表 eclipse中的java项目 代码 数据库方法类 DBUtil: package util; import java.sql.Connection; import java.sql. ...

随机推荐

  1. 行为型模式(三) 迭代器模式(Iterator)

    一.动机(Motivate) 在软件构建过程中,集合对象内部结构常常变化各异.但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素:同时这种"透明 ...

  2. FRCN文本检测(转)

    [源码分析]Text-Detection-with-FRCN 原创 2017年11月21日 17:58:39 标签: 659 编辑 删除 Text-Detection-with-FRCN项目是基于py ...

  3. spring mvc 坑之PUT,DELETE方法接收不到请求参数

    https://www.cnblogs.com/roobtyan/p/9576685.html 原因: Tomcat处理参数的问题: 1.将请求体中的数据,封装成一个map    2.request. ...

  4. LOJ P10065 北极通讯网络 题解

    每日一题 day39 打卡 Analysis 1.当正向思考受阻时,逆向思维可能有奇效. 2.问题转化为:找到最小的d,使去掉所有权值>d的边之后,连通支的个数<k; 3.定理:如果去掉所 ...

  5. luogu T96516 [DBOI2019]持盾 可持久化线段树+查分

    因为题中的操作是区间加法,所以满足前缀相减性. 而每一次查询的时候还是单点查询,所以直接用可持久化线段树维护差分数组,然后查一个前缀和就行了. code: #include <bits/stdc ...

  6. 洛谷 P3143 [USACO16OPEN]钻石收藏家Diamond Collector 题解

    P3143 [USACO16OPEN]钻石收藏家Diamond Collector 题目描述 Bessie the cow, always a fan of shiny objects, has ta ...

  7. 数据结构实验之排序二:交换排序 (SDUT 3399)

    #include <iostream> #include <bits/stdc++.h> using namespace std; typedef long long ll; ...

  8. AspNetCore3.0 和 JWT

    添加NuGet引用 IdentityModel Microsoft.AspNetCore.Authorization.JwtBearer 在appsettings.json中添加JwtBearer配置 ...

  9. git 的使用方法以及要注意的地方~

    1.假如你在一个分支,非master分支,例如avatar,在你修改之前一定要 get merge master,git pull,再开始写代码.如果改好了,也要先git merge master,g ...

  10. 数据库blob图片文件,多图片打包下载

    数据库存储blob图片文件,前端打包下载 数据库图片文件实体类 package com.cmrh.mspserver.pos.dto; import java.io.Serializable; imp ...