问下,在Windows xp系统下安装完了oracle 10G之后,建了一个orcl数据库之后,如何做才能让java应用程序能访问数据库orcl并且进行insert、update、delete等呢?刚刚在网上看了简单视频,目前没有思路以及具体的步骤,指点下,谢谢!

解决方案 »

  1.   

    http://www.google.cn/search?hl=zh-CN&q=java+oracle+jdbc&meta=&aq=2&oq=java+oracle+
      

  2.   

    第一步先要连接上oracle。百度java 连接oracle
      

  3.   

    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();  
    String url="jdbc:oracle:thin:@10.1.1.23:1521:orcl";  
    String user="scott";  
    String password="tiger";
    String dbString;  
    Connection conn= DriverManager.getConnection(url,user,password);  
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
    String sql="select * from emp";  
    ResultSet rs=stmt.executeQuery(sql);  
    while(rs.next()) {  
    dbString=rs.getString(1);
    }  
    rs.close();  
    stmt.close();  
    conn.close(); 
      

  4.   

    /**
     * 
     */
    package chapter10;
    import java.sql.*;
     /**
     * <p>Title:oracle</>
     * <p>Description:Java and oracle database</p>
     * <p>Company:gisinfo</p>
     * @author [email protected]
     * @version 1.0
     */
    public class CallProcedure { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String driver="sun.jdbc.odbc.JdbcOdbcDriver";
    String url="jdbc:odbc:shnw";
    String createprocedure;
    Connection conn;
    Statement statement;
    //ResultSet rs=null;
    try{
    Class.forName(driver);
    conn=DriverManager.getConnection(url,"shnw","shnw");
    statement=conn.createStatement();
    CallableStatement proc = null;
    proc = conn.prepareCall("{ call SHNW.PRO_WHILE_LOOP(?,?,?) }");
    proc.setString(1, "12");
    proc.setString(2, "12");
    proc.registerOutParameter(3,Types.VARCHAR);
    proc.execute();//proc.executeUpdate();
    String V_D = proc.getString(3);
    System.out.println("输出参数V_D="+V_D);
    /*CallableStatement proc = null;
    proc = conn.prepareCall("{ call SHNW.PRO_WHILE_LOOP(?) }");
    proc.registerOutParameter(1, Types.VARCHAR);
    proc.execute();
    String V_D = proc.getString(1);
    System.out.println("输出参数V_D="+V_D);*/
    //rs.close();
    statement.close();
    conn.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }}
      

  5.   

    /**
     * 
     */
    package chapter10;
    import java.sql.*;
    /**
     * <p>Title:oracle</>
     * <p>Description:Java and oracle database</p>
     * <p>Company:gisinfo</p>
     * @author [email protected]
     * @version 1.0
     */
    public class myOrcJdbcOdbc { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String driver="sun.jdbc.odbc.JdbcOdbcDriver";
    String url="jdbc:odbc:orcl10";
    String query,name,,create,drop,insert,update,delete;
    Connection conn;
    Statement statement;
    ResultSet rs=null;
    try{
    Class.forName(driver);
    conn=DriverManager.getConnection(url,"SIP_DB","SIP_DB");
    statement=conn.createStatement();
    /*PreparedStatement ps=conn.prepareStatement("update gc_gccdb_bf set dlmc='gis' where dlmc=?");
    ps.setString(1,"gisinfo");
    ps.executeUpdate();*/
    PreparedStatement ps =conn.prepareStatement("select * from gc_gccdb_bf where cd=?");
    ps.setString(1,"1");
    ps.setString(1,"44");
    ps.setString(1,"5873");
    rs=ps.executeQuery();
    drop="drop table gc_gccdb_bf";
    statement.executeUpdate(drop);
    System.out.println("Drop Success!");
    create="create table gc_gccdb_bf as select * from gc_gccdb";
    statement.executeUpdate(create);
    System.out.println("Create Success!");
    delete="delete from gc_gccdb_bf where cd=88";
    statement.executeUpdate(delete);
    System.out.println("Delete Success!");
    update="update gc_gccdb_bf set dlmc='gisinfo' where dlmc is not null";
    statement.executeUpdate(update);
    System.out.println("Update Success!");
    insert="insert into gc_gccdb_bf select * from gc_gccdb_bf";
    statement.executeUpdate(insert);
    System.out.println("Insert Success!");
    //query="select * from gc_gccdb";
    //rs=statement.executeQuery(query);
    while(rs.next()){
    query=rs.getString("jsld");
    //name=rs.getString("dlmc");
    //=rs.getString("ksld");
          System.out.println("结束道路:"+query);
    //System.out.println("道路名称:"+name);
    //System.out.println("开始道路:"++"\n");
    }
    rs.close();
    statement.close();
    conn.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    System.out.println(e);
    }
    }}
      

  6.   


    谢谢,java程序我会写的,就是不知道如何配置这个数据库实例的监听服务,我想要的是如何让orcl这个实例服务生效,就是如何配置,就是实例的监听服务如何配置,那个文件名叫啥来着,我忘记了!
      

  7.   

    楼上提供的是thin方式来连接的.你只需要打开监听,而windows的服务中是默认是自动启动监听 
      

  8.   


    Windows下配置文件路径:......\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\tnsnames.ora以及listener.ora
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = Skyman)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )然后在spring配置文件里面: <!-- 定义数据源的Bean ,给Hibernate的sessionFactory-->
    <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="oracle.jdbc.driver.OracleDriver">
    </property>
    <property name="url"
    value="jdbc:oracle:thin:@Skyman:1521:orcl">
    </property>  
    <property name="username" value="scott"></property>
    <property name="password" value="scott"></property>

    </bean>