version 1.23, 2004/06/21 11:31:35
|
version 1.36, 2004/10/19 11:12:19
|
Line 13
|
Line 13
|
* rogo |
* rogo |
*/ |
*/ |
|
|
|
|
import java.sql.*; |
import java.sql.*; |
import java.text.DateFormat; |
import java.text.DateFormat; |
import java.text.ParseException; |
import java.text.ParseException; |
Line 66 import com.fmi.jdbc.*;
|
Line 65 import com.fmi.jdbc.*;
|
*/ |
*/ |
public class DBBean |
public class DBBean |
{ |
{ |
|
private boolean useNormanToUnicodeMapper = false; |
Connection connection; |
Connection connection; |
String url = ""; |
String url = ""; |
DatabaseMetaData dbMetaData; |
DatabaseMetaData dbMetaData; |
Line 86 public class DBBean
|
Line 86 public class DBBean
|
DriverManager.registerDriver((Driver) Class.forName("org.postgresql.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("org.postgresql.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("com.mysql.jdbc.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("com.mysql.jdbc.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance()); |
|
DriverManager.registerDriver((Driver) Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("acs.jdbc.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("acs.jdbc.Driver").newInstance()); |
|
|
// wait a maximum of 10 seconds when attempting to establish a connection |
// wait a maximum of 10 seconds when attempting to establish a connection |
Line 198 public class DBBean
|
Line 199 public class DBBean
|
// Connect to the database |
// Connect to the database |
connection = DriverManager.getConnection(url, prop); |
connection = DriverManager.getConnection(url, prop); |
System.out.println("odbc with properties inited"); |
System.out.println("odbc with properties inited"); |
} |
} else |
else |
|
connection = DriverManager.getConnection(url, user, passwd); |
connection = DriverManager.getConnection(url, user, passwd); |
connectionPool.put(url, new ConnectionPool(url, user, passwd, connection)); |
connectionPool.put(url, new ConnectionPool(url, user, passwd, connection)); |
|
|
Line 613 public class DBBean
|
Line 613 public class DBBean
|
// container fields |
// container fields |
try |
try |
{ |
{ |
tableRow.addElement(new Double(resultSet.getDouble(i))); |
Double value =new Double(resultSet.getDouble(i)); |
m_columnClasses.addElement(Double.class); |
|
|
|
|
// tableRow.addElement(new Double(resultSet.getDouble(i))); |
|
String tVal =value.toString(); |
|
tVal = tVal.substring(tVal.indexOf('.')+1); |
|
boolean checkMe = tVal.length()==1&&tVal.equals("0"); |
|
// System.out.println("check was"+checkMe+" "+tVal); |
|
if(checkMe) |
|
tableRow.addElement(new Integer(value.intValue())); |
|
else |
|
tableRow.addElement(value); |
|
|
} catch (Exception e) |
} catch (Exception e) |
{ |
{ |
Line 643 public class DBBean
|
Line 653 public class DBBean
|
// if(resultSet.getObject(i)!=null) System.out.println(resultSet.getObject(i)); |
// if(resultSet.getObject(i)!=null) System.out.println(resultSet.getObject(i)); |
try |
try |
{ |
{ |
byte[] b = resultSet.getBytes(i); |
|
String utf8 = null; |
String utf8 = null; |
if (metaData instanceof ResultSetMetaDataExt) |
if (metaData instanceof ResultSetMetaDataExt) |
|
{ |
|
byte[] b = resultSet.getBytes(i); |
|
|
|
if (metaData instanceof ResultSetMetaDataExt) |
utf8 = (b == null) ? null : new String(b); |
utf8 = (b == null) ? null : new String(b); |
else |
else |
utf8 = (b == null) ? null : new String(b, "UTF-8"); |
utf8 = (b == null) ? null : new String(b, "UTF-8"); |
utf8 = (utf8 == null) ? null : new String(utf8.getBytes("UTF-8"), "UTF-8"); |
} |
|
else |
|
utf8=resultSet.getString(i); |
|
|
|
// utf8 = (utf8 == null) ? null : new String(utf8.getBytes("UTF-8"), "UTF-8"); |
tableRow.addElement(utf8); |
tableRow.addElement(utf8); |
|
|
} catch (Exception e) |
} catch (Exception e) |
{ |
{ |
System.out.println("Hey I Got an error" + e); |
System.out.println("Hey I Got an error" + e); |
|
e.printStackTrace(); |
} |
} |
m_columnClasses.addElement(java.lang.String.class); |
m_columnClasses.addElement(java.lang.String.class); |
} |
} |
Line 709 public class DBBean
|
Line 728 public class DBBean
|
|
|
if (!connection.isClosed()) |
if (!connection.isClosed()) |
stm = connection.createStatement(); |
stm = connection.createStatement(); |
else { |
else |
|
{ |
|
|
try |
try |
{ |
{ |
Line 724 public class DBBean
|
Line 743 public class DBBean
|
} |
} |
stm.setMaxRows(numberOfHits); |
stm.setMaxRows(numberOfHits); |
long time = System.currentTimeMillis(); |
long time = System.currentTimeMillis(); |
try { |
try |
|
{ |
stm.execute(query); |
stm.execute(query); |
long time2 = System.currentTimeMillis(); |
long time2 = System.currentTimeMillis(); |
|
|
Line 734 public class DBBean
|
Line 754 public class DBBean
|
result = stm.getResultSet(); |
result = stm.getResultSet(); |
// System.out.println(result+" "+stm.getUpdateCount()); |
// System.out.println(result+" "+stm.getUpdateCount()); |
metaData = result.getMetaData(); |
metaData = result.getMetaData(); |
} catch(Exception e) { |
} catch (Exception e) |
|
{ |
// TODO remove |
// TODO remove |
if(FM2SQL.fmInstance!=null) |
if (FM2SQL.fmInstance != null&&Convert.debug) |
FM2SQL.showErrorDialog("Error caught!! \n Query was "+query+" \n","Debug Info"); |
FM2SQL.showErrorDialog("Error caught!! \n Query was "+query+" \n","Debug Info"); |
|
e.printStackTrace(); |
} |
} |
|
|
return result; |
return result; |
Line 1346 public class DBBean
|
Line 1368 public class DBBean
|
// container fields |
// container fields |
try |
try |
{ |
{ |
tableRow.addElement(new Double(resultSet.getDouble(i))); |
Double value =new Double(resultSet.getDouble(i)); |
|
|
|
|
|
// tableRow.addElement(new Double(resultSet.getDouble(i))); |
|
String tVal =value.toString(); |
|
tVal = tVal.substring(tVal.indexOf('.')+1); |
|
boolean checkMe = tVal.length()==1&&tVal.equals("0"); |
|
// System.out.println("check was"+checkMe+" "+tVal); |
|
if(checkMe) |
|
tableRow.addElement(new Integer(value.intValue())); |
|
else |
|
tableRow.addElement(value); |
|
|
// m_columnClasses.addElement(Integer.class); |
// m_columnClasses.addElement(Integer.class); |
|
|
} catch (Exception e) |
} catch (Exception e) |
Line 1401 public class DBBean
|
Line 1435 public class DBBean
|
b = bCopy; |
b = bCopy; |
}*/ |
}*/ |
String utf8 = null; |
String utf8 = null; |
utf8 = (b == null) ? null : new String(b,"MacRoman"); |
utf8 = (b == null) ? null : new String(b); |
if (metaData instanceof ResultSetMetaDataExt) |
if (metaData instanceof ResultSetMetaDataExt) |
tableRow.addElement((b != null) ? Convert.normanToUnicode(resultSet.getString(i)) : null); |
{ |
else |
String rowElement = ""; |
|
if (b != null) |
|
{ |
|
rowElement = resultSet.getString(i); |
|
if (useNormanToUnicodeMapper) |
|
rowElement = Convert.normanToUnicode(rowElement); |
|
tableRow.addElement(rowElement); |
|
|
|
} else |
|
tableRow.addElement(null); |
|
} else |
{ |
{ |
if(url.toLowerCase().indexOf("odbc")>=0) |
if(url.toLowerCase().indexOf("odbc")>=0) |
{ |
{ |
Line 1420 public class DBBean
|
Line 1464 public class DBBean
|
} |
} |
} catch (Exception e) |
} catch (Exception e) |
{ |
{ |
System.out.println("Hey I Got an error" + e); |
System.out.println("Hey I got an error" + e); |
e.printStackTrace(); |
e.printStackTrace(); |
} |
} |
// m_columnClasses.addElement(java.lang.String.class); |
// m_columnClasses.addElement(java.lang.String.class); |
Line 1495 public class DBBean
|
Line 1539 public class DBBean
|
ResultSet result = this.result; |
ResultSet result = this.result; |
String subQuery = query.substring(query.lastIndexOf(table)+table.length()+1); |
String subQuery = query.substring(query.lastIndexOf(table)+table.length()+1); |
System.out.println("subQuery "+subQuery); |
System.out.println("subQuery "+subQuery); |
makeQuery("select "+id+" from "+getQC()+table+getQC()+subQuery,numHits ); |
makeQuery("select " + getQC()+id+getQC() + " from " + getQC() + table + getQC() + subQuery, numHits); |
while(true) |
while(true) |
{ |
{ |
Vector vec = getNextRow(); |
Vector vec = getNextRow(); |
Line 1507 public class DBBean
|
Line 1551 public class DBBean
|
metaData = (this.result==null) ?null:this.result.getMetaData(); |
metaData = (this.result==null) ?null:this.result.getMetaData(); |
return t; |
return t; |
} |
} |
|
/** |
|
* @return |
|
*/ |
|
public boolean isUseNormanToUnicodeMapper() |
|
{ |
|
return useNormanToUnicodeMapper; |
|
} |
|
|
|
/** |
|
* @param b |
|
*/ |
|
public void setUseNormanToUnicodeMapper(boolean b) |
|
{ |
|
useNormanToUnicodeMapper = b; |
|
} |
|
/** |
|
* |
|
*/ |
|
protected void closeAllConnections() |
|
{ |
|
Enumeration enumeration = connectionPool.elements(); |
|
while(enumeration.hasMoreElements()) |
|
{ |
|
ConnectionPool conPol =(ConnectionPool)enumeration.nextElement(); |
|
try |
|
{ |
|
System.out.println(conPol); |
|
conPol.con.close(); |
|
} catch (SQLException e) |
|
{ |
|
// TODO Auto-generated catch block |
|
e.printStackTrace(); |
|
} |
|
} |
|
|
|
} |
|
/** |
|
* @param indexField |
|
*/ |
|
public String getColumnType(String indexField) throws SQLException |
|
{ |
|
Vector names=getColumnNames(); |
|
for (int i = 0; i < names.size(); i++) |
|
{ |
|
if(names.get(i).toString().equals(indexField)) |
|
{ |
|
System .out.println("found field "+names.get(i)+" "+metaData.getColumnTypeName(i+1)); |
|
return metaData.getColumnTypeName(i+1); |
|
|
|
} |
|
} |
|
return ""; |
|
} |
|
|
} |
} |
|
|