本文共 9312 字,大约阅读时间需要 31 分钟。
Oracle 11g 64位百度云盘下载:http://pan.baidu.com/s/1dEljrpR
[参考:http://jingyan.baidu.com/article/f25ef25444249a482c1b82d1.html]
PLSQLDeveloper下载地址:http://www.panduoduo.net/r/13494819
PL/SQL Developer连接本地Oracle 11g 64位数据库:http://www.cnblogs.com/ymj126/p/3712727.html
【中途用到的instantclient-basic-nt-12.1.0.2.0.zip :http://download.csdn.net/detail/u011850780/8740361】
PLSQL Developer新手使用教程(图文教程):http://jingyan.baidu.com/article/c85b7a6403acd1003bac950f.html
Oracle语法实例:引自 马士兵
create table DEPT3(DEPTNO NUMBER(2) primary key,DNAME VARCHAR2(14),LOC VARCHAR2(13));insert into DEPT3 values(11,'Lei Li','Beijing');insert into DEPT3 values(8,'Mei Han','Shanghai');insert into DEPT3 values(2,'Ming Gao','Shenzhen');select * from DEPT3;
Eclipse 是一个开放源代码的、基于的可扩展开发平台。Eclipse 附带了一个标准的插件集,包括Java开发工具(Development Kit,JDK)。
参考:
a)Java JDBC Thin Driver 连接 Oracle 三种方法:http://aijuans.iteye.com/blog/1488998 英文版:http://razorsql.com/docs/help_oracle.html
jdbc:oracle:thin:@//<host>:<port>/<service_name>
Example: jdbc:oracle:thin:@//192.168.2.1:1521/XE
注意这里的格式,@后面有//, 这是与使用SID的主要区别。
这种格式是Oracle 推荐的格式,因为对于集群来说,每个节点的SID 是不一样的,但是SERVICE_NAME 确可以包含所有节点。
【SERVICE_NAME通过安装的Oracle里边的“tnsnames.ora”里边寻找】
jdbc:oracle:thin:@<host>:<port>:<SID>
Example: jdbc:oracle:thin:192.168.2.1:1521:X01A
Note: Support for SID is being phased out. Oracle recommends that users switch over to using service names.
jdbc:oracle:thin:@<TNSName>
Example: jdbc:oracle:thin:@GL
Note:
Support for TNSNames was added in the driver release 10.2.0.1
b)一个非常标准的Java连接Oracle数据库的示例代码: http://www.cnblogs.com/liuxianan/archive/2012/08/05/2624300.html
import java.sql.*;/*范例名称: * 原文件名称: * 要点: * 1. JDBC之连接oracle数据库 */public class TestJDBC { //private static String url="jdbc:oracle:"+"thin:@localhost:1521:orcl";//orcl好像是全局sid private static String url="jdbc:oracle:"+"thin:@//localhost:1521/orcl.100.40.15"; //private static String url="jdbc:oracle:"+"thin:localhost:1521:oracle"; private static String user="scott";//用户名 private static String psd="Oracle11g";//密码 public static void main(String[] args) { Connection conn=null;//创建一个数据库连接 PreparedStatement pre=null;//创建一个预编译语句对象,一般都是用这个而不用Statement ResultSet result=null;//创建一个结果集对象 try{ //1)new一个数据库驱动实例 加载Oracle驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("开始尝试连接数据库"); //new oracle.jdbc.driver.OracleDriver();//new的第二个方法 //2)连接oracle数据库 conn=DriverManager.getConnection(url,user,psd); System.out.println("连接陈功"); //3)执行SQL语句 String sql="select * from DEPT"; pre=conn.prepareStatement(sql); result=pre.executeQuery(); while(result.next()){ System.out.println("Name: "+result.getString("DNAME")+", Location: "+result.getString("LOC")); } }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e) { e.printStackTrace(); }finally { try { // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源 // 注意关闭的顺序,最后使用的最先关闭 if (result != null){ result.close(); result=null; } if (pre != null){ pre.close(); pre=null; } if (conn != null){ conn.close(); conn=null; } System.out.println("数据库连接已关闭!"); } catch (SQLException e) { e.printStackTrace(); } } }}
运行结果:
连接陈功Name: ACCOUNTING, Location: NEW YORKName: RESEARCH, Location: DALLASName: SALES, Location: CHICAGOName: OPERATIONS, Location: BOSTON数据库连接已关闭!
import java.sql.*;/*范例名称: * 原文件名称: * 要点: * 1. JDBC之连接oracle数据库:更新数据库的表 */public class TestDML { // private static String // url="jdbc:oracle:"+"thin:@localhost:1521:orcl";//orcl好像是全局sid private static String url = "jdbc:oracle:" + "thin:@//localhost:1521/orcl.100.40.15"; // private static String url="jdbc:oracle:"+"thin:localhost:1521:oracle"; private static String user = "scott";// 用户名 private static String psd = "Oracle11g";// 密码 public static void main(String[] args) { Connection conn=null;//创建一个数据库连接 PreparedStatement pre=null;//创建一个预编译语句对象,一般都是用这个而不用Statement try{ //1)new一个数据库驱动实例 加载Oracle驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("开始尝试连接数据库"); //new oracle.jdbc.driver.OracleDriver();//new的第二个方法 //2)连接oracle数据库 conn=DriverManager.getConnection(url,user,psd); System.out.println("连接陈功"); //3)执行SQL语句_添加数据 String sql; //sql="insert into DEPT3 values (25,'Yang Tai','Qinhuangdao')"; //conn.prepareStatement(sql).executeUpdate();//更新表 sql="insert into DEPT3 values (?,?,?)";//使用通配符 pre=conn.prepareStatement(sql); pre.setInt(1, 35); pre.setString(2, "Liang Yue"); pre.setString(3, "Canghai"); pre.executeUpdate();//更新 }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e) { e.printStackTrace(); }finally { try { // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源 // 注意关闭的顺序,最后使用的最先关闭 if (pre != null){ pre.close(); pre=null; } if (conn != null){ conn.close(); conn=null; } System.out.println("数据库连接已关闭!"); } catch (SQLException e) { e.printStackTrace(); } } }}
import java.sql.*;/*范例名称: * 原文件名称: * 要点: * 1. JDBC之连接oracle数据库:更新数据库的表 批处理 * Transaction(用处:银行更新双方账户时,必须同时成功或者失败) */public class TestDML { // private static String // url="jdbc:oracle:"+"thin:@localhost:1521:orcl";//orcl好像是全局sid private static String url = "jdbc:oracle:" + "thin:@//localhost:1521/orcl.100.40.15"; // private static String url="jdbc:oracle:"+"thin:localhost:1521:oracle"; private static String user = "scott";// 用户名 private static String psd = "Oracle11g";// 密码 public static void main(String[] args) { Connection conn=null;//创建一个数据库连接 PreparedStatement pre=null;//创建一个预编译语句对象,一般都是用这个而不用Statement try{ //1)new一个数据库驱动实例 加载Oracle驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("开始尝试连接数据库"); //new oracle.jdbc.driver.OracleDriver();//new的第二个方法 //2)连接oracle数据库 conn=DriverManager.getConnection(url,user,psd); System.out.println("连接陈功"); //3)执行SQL语句_添加数据 String sql; sql="insert into DEPT3 values (?,?,?)";//使用通配符 pre=conn.prepareStatement(sql); conn.setAutoCommit(false);//设置为不自动提交 pre.setInt(1, 32); pre.setString(2, "Xing Xing"); pre.setString(3, "Yinhe"); pre.addBatch();//添加一条 pre.setInt(1, 44); pre.setString(2, "Dong Hei"); pre.setString(3, "Yinhe"); pre.addBatch();//添加一条 conn.commit();//提交 conn.setAutoCommit(true);//恢复默认设置 自动提交 pre.executeBatch();//批处理更新 }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e) { e.printStackTrace(); //处理出错 try{ if(conn!=null){ conn.rollback(); conn.setAutoCommit(true); } }catch (SQLException e1) { e1.printStackTrace(); } }finally { try { // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源 // 注意关闭的顺序,最后使用的最先关闭 if (pre != null){ pre.close(); pre=null; } if (conn != null){ conn.close(); conn=null; } System.out.println("数据库连接已关闭!"); } catch (SQLException e) { e.printStackTrace(); } } }}
SQL Explorer插件 (参考下一篇文章)显示Oracle用户属性