OracleDataBase函数处理时相对比较复杂:
public class OracleDataBaseHandler extends AbstractDataBaseHandler{
private String thinOraclePrefix = "jdbc:oracle:thin:@";
private String urlString;
private String userName;
private String password;
private String driverName = "oracle.jdbc.OracleDriver";
private String host;
private String port;
private String sid;
public OracleDataBaseHandler(String host, String sid,
String userName, String password){
this.host = host;
this.sid = sid;
/* a valid url connection string format is: "host:port:sid" */
setUrlString(thinOraclePrefix + host + ":1521:" + sid);
setUserName(userName);
setPassword(password);
}
public OracleDataBaseHandler(String host, String port, String sid,
String userName, String password){
this.host = host;
this.sid = sid;
this.port = port;
/* a valid url connection string format is: "host:port:sid" */
setUrlString(thinOraclePrefix + host + ":" + port + ":" + sid);
setUserName(userName);
setPassword(password);
}
}
一个ODBCDataBaseHandler也没有太多的差别,除了它处理的是数据源名称(DSNs),而不是主机名,通道数,及SID。与一个 Oracle数据库相关的主机名,通道数,及SID必须合法,因为我们处理的是一个数据库服务器而不是一个数据库文件。但是,微软Access关系数据库使用.mdb文件:
public class ODBCDataBaseHandler extends AbstractDataBaseHandler{
private String urlString;
private String userName;
private String password;
private String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";
private String dsn;
private String odbcPrefix = "jdbc:odbc:";
public ODBCDataBaseHandler(String dsn, String userName, String password){
/* a valid url connection string format is: "jdbc:odbc:dsn" */
this.dsn = dsn;
setUrlString(odbcPrefix + dsn);
setUserName(userName);
setPassword(password);
setDriverName(driverName);
}
}
