日期:2014-05-18  浏览次数:20679 次

知道如下信息,如何连接远程数据库?非常着急……
第一个问题:知道如下信息,如何连接远程数据库(不知道是什么数据库系统),是否可以看到这个数据库中的表?

Ip:1.2.3.4,1500

数据库名:123

用户名:22

密码:22

第二个问题:

JSP   中怎样调用存储过程,不如这样的一个存储过程,如何调用?

up(             @1     varchar(50)       ,     @2   varchar(60)             )

------解决方案--------------------
//连接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();
}
}
}
------解决方案--------------------
数据库你可以测试的
try{
第一次测试
}catch(Exception e){
失败了,进行第二次测试
.....
}
不成功就换一个驱动,直到成功为止

调用存储过程:
-------------------
不面连接数据库的自己写
java.sql.Connection conn =

java.sql.DriverManager.getConnection( "proxool.SWOKY ");

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