--- FM2SQL/Attic/DBBean.java 2004/04/15 11:13:59 1.15 +++ FM2SQL/Attic/DBBean.java 2004/05/06 11:39:42 1.18 @@ -152,8 +152,8 @@ public class DBBean ConnectionPool conPool = (ConnectionPool) connectionPool.get(url); if (conPool == null) { - connection = DriverManager.getConnection(url, user, passwd); - connectionPool.put(url, new ConnectionPool(url, user, passwd, connection)); + createConnection(); + } else { if (!conPool.user.equals(user) || !conPool.passwd.equals(passwd)) @@ -167,12 +167,15 @@ public class DBBean if (connection.isClosed()) { System.out.println("Made new connection!!!"); - connection = DriverManager.getConnection(conPool.url, conPool.user, conPool.passwd); + createConnection(); + + // connection = DriverManager.getConnection(conPool.url, conPool.user, conPool.passwd); conPool.con = connection; } } if (url != "" && connection == null) - connection = DriverManager.getConnection(url, user, passwd); + createConnection(); + //connection = DriverManager.getConnection(url, user, passwd); dbMetaData = connection.getMetaData(); quoteChar = dbMetaData.getIdentifierQuoteString(); if (quoteChar == null) @@ -180,6 +183,25 @@ public class DBBean return connection; } + private void createConnection() throws SQLException + { + // setup the properties + java.util.Properties prop = new java.util.Properties(); + prop.put("charSet", "Cp1256"); + prop.put("user", user); + prop.put("password", passwd); + System.out.println("url "+url); + if(url.indexOf("odbc")>=0) + { + // Connect to the database + connection = DriverManager.getConnection(url, prop); + System.out.println("odbc with properties inited"); + } + else + connection = DriverManager.getConnection(url, user, passwd); + connectionPool.put(url, new ConnectionPool(url, user, passwd, connection)); + + } /** * sets the connection of this DBBean to the database specified in the url * property @@ -188,7 +210,8 @@ public class DBBean { this.url = url; if (url != "") - connection = DriverManager.getConnection(url, user, passwd); + //connection = DriverManager.getConnection(url, user, passwd); + createConnection(); dbMetaData = connection.getMetaData(); quoteChar = dbMetaData.getIdentifierQuoteString(); if (quoteChar == null) @@ -204,7 +227,8 @@ public class DBBean this.passwd = passwd; this.url = url; if (url != "") - connection = DriverManager.getConnection(url, user, passwd); + createConnection(); + // connection = DriverManager.getConnection(url, user, passwd); dbMetaData = connection.getMetaData(); quoteChar = dbMetaData.getIdentifierQuoteString(); if (quoteChar == null) @@ -682,7 +706,13 @@ public class DBBean } stm.setMaxRows(numberOfHits); long time = System.currentTimeMillis(); + try { stm.execute(query); + } catch(Exception e) { + // TODO remove + // if(FM2SQL.fmInstance!=null) + // FM2SQL.showErrorDialog("Error caught!! \n Query was "+query+" \n","Debug Info"); + } long time2 = System.currentTimeMillis(); System.out.println("time to execute "+(time2-time)); @@ -1282,11 +1312,11 @@ public class DBBean date=date.replace('-','.'); java.text.DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT,Locale.GERMAN); java.util.Date d= dateFormat.parse(date); - Calendar cal=Calendar.getInstance(Locale.GERMAN); - cal.setTime(d); - date=(cal.get(Calendar.YEAR))+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.DATE); - tableRow.addElement(java.sql.Date.valueOf(date)); - System.out.println(date); + // Calendar cal=Calendar.getInstance(Locale.GERMAN); + // cal.setTime(d); + // date=(cal.get(Calendar.YEAR))+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.DATE); + tableRow.addElement(new java.sql.Date(d.getTime())); + System.out.println("Date "+date); } // m_columnClasses.addElement(java.sql.Date.class); } else if (metaData.getColumnTypeName(i) == "NUMBER") @@ -1336,6 +1366,14 @@ public class DBBean tableRow.addElement((b != null) ? new String(utf8.getBytes()) : null); else { + if(url.toLowerCase().indexOf("odbc")>=0) + { + byte[] val = resultSet.getBytes(i); + for(int j=0;j