当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle Spatial新驱动的添加记录实例

Oracle
Excel VBA连接并操作Oracle
Oracle 外连接实现代码
oracle 存储过程和函数例子
Oracle 数据库操作类
ORACLE 分区表的设计
Oracle 用户权限管理方法
Oracle In和exists not in和not exists的比较分析
利用windows任务计划实现oracle的定期备份
ORACLE11g随RHEL5系统自动启动与关闭的设置方法
在oracle 数据库查询的select 查询字段中关联其他表的方法
plsql和tsql常用函数比对
plsql与tsql的语法不同
ASP.NET调用oracle存储过程实现快速分页
执行drop表操作后数据库无法起动
分析Oracle有时会用索引来查找数据的原因
数据从MySQL迁移到 Oracle的注意事项
快速理解Oracle归档模式的命令及参数
在Oracle里加快SQL执行的三种方法
几条常见的数据库分页 SQL 语句
Oracle9I OCP认证过程

Oracle Spatial新驱动的添加记录实例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 58 ::
收藏到网摘: n/a

    --sunfruit
    Oracle的空间数据库的操作驱动更新了,新的驱动适用于Oracle8.0或以上,新驱动在对数据库的操作上面和原有的驱动差别比较大,不过有一点:使用变得简单了
    建立空间数据库和建立空间索引的步骤就略过了,那些网上有很多例子,而且实现方式上面也没有变化,下面列出添加一条空间数据库记录的代码:

import java.sql.*;
import oracle.sql.*;
import oracle.spatial.geometry.JGeometry;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class SdoAdd {
  public static void main(String[] args) {
    String driver = "oracle.jdbc.driver.OracleDriver";
    String url = "jdbc:oracle:thin:@172.16.75.200:1521:starmap";
    String uid = "hmbst";
    String psw = "hmbst";
    Connection conn = null;
    PreparedStatement ps=null;
    try {
      Class.forName(driver);
      conn = DriverManager.getConnection(url, uid, psw);
     
      JGeometry jGeometry=new JGeometry(41884696,14377039,0);
      STRUCT obj =jGeometry.store(jGeometry,conn);
      String sql =
          "insert into POISDO values(seq_poi_id.nextval,?,?)";
      ps = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
      ps.clearParameters();
      ps.setString(1, "我的家");
      ps.setObject(2, obj);
      // 插入点地物记录
      ps.executeUpdate();
      conn.commit();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    finally
    {
      if(conn!=null)
      {
        try {
          conn.close();
        }
        catch (SQLException ex) {
          ex.printStackTrace();
        }
      }
      if(ps!=null)
      {
        try {
          ps.close();
        }
        catch (SQLException ex) {
          ex.printStackTrace();
        }
      }

    }
  }
}

表POISDO的结构如下
create table poi (
  id INTEGER,
  gname VARCHAR2(256),
  gshape MDSYS.SDO_GEOMETRY);