转 Java连接Oracle数据库的简单示例
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数据库的简单示例的更多相关文章
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
- oracle入门(5)——java连接oracle数据库
[本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安 ...
- java读取ACCESS数据库的简单示例
java读取ACCESS数据库的简单示例 虽然简单,对初学者来说,如果没有一段可以成功执行的代码供参考,还真难调试 先用ACCESS建一个数据库 DB1.MDB,里面有一表"table1&q ...
- Java连接Oracle数据库的三种连接方式
背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...
- 一个非常标准的Java连接Oracle数据库的示例代码
最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...
- Java连接Oracle数据库的示例代码
最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径 ->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择 “D:\Oracle\ap ...
- java连接Oracle数据库
Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...
- java连接oracle数据库的实现代码
package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; impo ...
- java连接Oracle数据库实现增删改查并在Navicat中显示
创建TEST表 eclipse中的java项目 代码 数据库方法类 DBUtil: package util; import java.sql.Connection; import java.sql. ...
随机推荐
- 创建型模式(五) 原型模式(Prototype)
一.动机(Motivation) 在软件系统中,经常面临着"某些结构复杂的对象"的创建工作:由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口.如何应对 ...
- 关于devexpress报表XtraReport,动态修改报表样式(.repx格式),动态添加数据并使用的理解
一.基本概念: XtraReports 中的每个报表都由 XtraRepot 类的一个实例表示,或者由该类的子类来表示(这种情况更常见). 因此,每个报表都作为带区的容器使用,而每个带区中都包含报表控 ...
- Go语言 - 数组 | 多维数组
Array 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化. 1.数组 在定义阶段,长度和类型就固定了,以后不能更改 2.长度也是数组 ...
- 依赖注入(DI)和控制反转(IOC)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- go html
package main import ( "fmt" "html/template" "net/http" ) type User str ...
- Kubernetes 学习5 kubernetes资源清单定义入门
一.kubernetes是有一个restful风格的 API,把各种操作对象都一律当做资源来管理.并且可通过标准的HTTP请求的方法 GET,PUT,DELETE,POST,等方法来完成操作,不过是通 ...
- piplinedb 团队加入confluen
这个消息对于使用pipelinedb 的人来说,可能有点不好,因为官方已经明确说明了,pipelinedb 截止到1.0 版本,将不再维护了, 基本就要靠社区了,但是pipelinedb 团队还是比较 ...
- codevs:1313 质因数分解:已知正整数 n是两个不同的质数的乘积,试求出较大的那个质数 。
#include<iostream>#include<cstdio>#include<cmath>using namespace std;int a[2];int ...
- python3.x中lambda表达式的处理与python2不一样
lambda表达式,在python2中的表达式和python3不同,原来只要: >>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) ...
- 绕流振动UDF【转载】
宏DEFINE_GRID_MOTION用来移动任意边界和流体区域内的网格节点.它提供了对节点和网格最大限度的操作,可以将刚体运动.变形和相对运动等结合起来.但是使用此UDF时,每一个时间步都必须执行. ...