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. SVM: 直观上理解大间距分类器

    在SVM中,增加安全的间距因子 那么增加了这个间距因子后,会出现什么样的结果呢,我们将C设置为很大(C=100000) SVM决策边界 当我们将C设置得很大进,要想SVM的cost function最 ...

  2. TortoiseGit-下载安装汉语语言包(汉化-方法)

    TortoiseGit是一款版本控制软件,和git bash是差不多的, 但是TortoiseGit是图形界面,git bash却是命令界面,但是, 我更新了TortoiseGit后,记得明明选择了汉 ...

  3. dosbox+masm5.0编译汇编文件

    在去年写过如何bc3.1编译ucos,不过现在很少去用到,但是那是用dosbox也是懵懵懂懂的,参见https://blog.csdn.net/liming0931/article/details/8 ...

  4. 备份docker运行的gitlab

    #!/bin/bash data=$(date "+%Y-%m-%d %H:%M:%S") gitBak='/data/gitlab/data/backups' delFile=` ...

  5. (一)IDEA使用,基础配置

    Setting分为全局设置和项目设置,全局设置对所有项目都有效,项目设置对当前项目有效. 1.通用的配置最好还是Settings全局设置,省的每个项目都要重新设置: 2. IDEA主题,字体设置:  ...

  6. Three.js实现滚轮放大展现不同的模型

    目录 Three.js实现滚轮放大展现不同的模型 修改OrbitControls.js的源码 OrbitControls在透视相机(PerspectiveCamera)的控制原理 具体实现 Three ...

  7. 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'

    右键运行pytest run时报错,原因是pytest版本过高导致的.有时候会遇到在自己本机没问题,拉取服务器代码下来后就出问题了,所以把pytest版本改低就可以,亲测有效,希望对你有帮助 完整报错 ...

  8. note_4.10

    单位根反演 \[ \frac{1}{k}\sum_{i=0}^{k-1}\omega_k^{in}=[k|n] \] 所以 \[ \begin{equation} \begin{split} \sum ...

  9. SpringMVC之请求部分

    1.接收请求之限定请求类型 只接受Post请求 @RequestMapping(value="",method=RequestMethod.POST) 只接受get请求 @Requ ...

  10. sem_init重复调用引发sem_wait线程无法被唤醒

    问题 一段老代码,两个线程,一个线程调用sem_wait等待信号量,另外一个线程在某失败分支会调用sem_init清信号量,结果导致sem_wait线程无法被唤醒: 分析 Linux manpage ...