第一个问题:知道如下信息,如何连接远程数据库(不知道是什么数据库系统),是否可以看到这个数据库中的表?Ip:1.2.3.4,1500数据库名:123用户名:22密码:22第二个问题:JSP 中怎样调用存储过程,不如这样的一个存储过程,如何调用?up(      @1  varchar(50)   ,  @2 varchar(60)      )

解决方案 »

  1.   

    //连接mysql数据库
    //mysqltest.java
    package news;
    import java.sql.*;
    public class mysqltest{
    String sDBDriver = "org.gjt.mm.mysql.Driver";
    String  url="jdbc:mysql://202.98.0.68:3306/peidian?user=root&password=root&useUnicode=true&characterEncoding=gb2312";  
    Connection  conn=  null; 
    Statement stmt = null;
    ResultSet rs = null;
    public mysqltest()
    {
    try
    {Class.forName(sDBDriver);
    }
    catch(java.lang.ClassNotFoundException e)
    {
    System.err.println("sql_data(): " + e.getMessage());
    }
    }
    public void executeInsert(String sql) 
    {
    try
    {//conn = DriverManager.getConnection(url,user,password);
    conn = DriverManager.getConnection(url);
    stmt = conn.createStatement();
    stmt.executeUpdate(sql);
    stmt.close();
    conn.close();
    }
    catch(SQLException ex)
    {System.err.println("sql_data.executeUpdate:"+ex.getMessage());
    }
    }
    public ResultSet executeQuery(String sql)
    {
    try
    {
    conn = DriverManager.getConnection(url);
    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        rs = stmt.executeQuery(sql);
    }
    catch(SQLException ex)
    {
    System.err.println("sql_data.executeQuery:"+ex.getMessage());
    }
    return rs;
    }
    public void executeUpdate(String sql)
    {
        try {
    conn = DriverManager.getConnection(url);
    stmt = conn.createStatement();
        stmt.executeUpdate(sql);
    stmt.close();
        conn.close();
        } 
        catch(SQLException ex) { 
          System.err.println("aq.executeQuery: " + ex.getMessage());
        }
    }
    public void executeDelete(String sql) 
    {
    try
    {conn = DriverManager.getConnection(url);
    stmt = conn.createStatement();
    stmt.executeUpdate(sql);
    stmt.close();
        conn.close();

    catch(SQLException ex) 
    {
    System.err.println("sql_data.executeDelete:"+ex.getMessage());
    }
    }
    public void closeStmt(){
        try{
          stmt.close();
         }
        catch(SQLException e){
          e.printStackTrace();
         }
      }public void closeConn(){
        try{
          conn.close();
         }
        catch(SQLException e){
          e.printStackTrace();
       }
      }
    }
      

  2.   

    数据库你可以测试的
    try{
      第一次测试
    }catch(Exception e){
      失败了,进行第二次测试
       .....
    }
    不成功就换一个驱动,直到成功为止调用存储过程:
    -------------------
    不面连接数据库的自己写
    java.sql.Connection conn = 
              
                     java.sql.DriverManager.getConnection("proxool.SWOKY");

    java.sql.CallableStatement cstm = conn.prepareCall("{call up(?,?)}"); 

    cstm.setString(1,"stringsf")

    cstm.setString(2,"sdfffsdf");

    cstm.execute();

    cstm.close();

    conn.close();

    ----------------------