Ms Access problems with Jdbc Odbc!!!

Hi again people,
Im creating a GUI swing project connecting a database (MsAccess) to a dialog using the bridge driver,
The GUI is coming up but im getting runtime errors and the data does not go to the fields, the dialog and connection are in two files:
import java.awt.*;
import java.awt.event.*;
import java.sql.*; //SQL package for the statements
import javax.swing.*;
class DatabaseMan
     public ResultSet m_resultSet; //recordset resulting from SQL query
     public ResultSetMetaData m_rsmd; //used to get general info about the columns
     private int m_nNumberOfFields; //number of fields in a recordset
     private Connection conn;
     private Statement stmt;
     public DatabaseMan(String strSQLQuery)
          try
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");          
               try               //establish connection to the database
                    //try to get connection to the database
                    conn = DriverManager.getConnection("jdbc:odbc:db1");
                    //this is not where we update the database so we make it read only
                    stmt = conn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,
                                                                 ResultSet.CONCUR_READ_ONLY);                                   
                    m_resultSet = stmt.executeQuery(strSQLQuery);
               catch(SQLException exSQL)
                    System.err.println("\n\n\t\t ***SQLException has" +
                                             "been caught ***\n\n");
               while ( exSQL != null)
                    System.err.println("\nSQLState : " + exSQL.getSQLState() );
               System.err.println("\nMessage : " + exSQL.getMessage() );
                         System.err.println("\nVendor code : "+ exSQL.getErrorCode() );
                         System.err.println("\n");
                         exSQL = exSQL.getNextException();
          catch( ClassNotFoundException e)
               System.err.print("\n\n\tClassNotFoundException has"
                                   +" been caught");
               System.err.println( e.getMessage());
          catch( java.lang.Exception ex )
               ex.printStackTrace();
     public void CloseConnection() //close connection to database
          try
                    conn.close();
                    stmt.close();
                    m_resultSet.close(); //release the resources
               catch (SQLException exSQL )
                    System.out.println("SQL Exception: " + exSQL.getMessage());
                    exSQL.printStackTrace(System.out);
     public int getNoFields()
          return m_nNumberOfFields;
} //end of DatabaseMan.java
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import DatabaseMan;
import javax.swing.*;
class DBviewer extends JDialog implements ActionListener
     //JButtons to create toolbar
     private JButton m_buttonFirst;
     private JButton m_buttonNext;
     private JButton m_buttonPrevious;
     private JButton m_buttonLast;
     private JButton m_buttonClose;
     private JButton m_mainbuttonClose;
     //textfields to transfer the data from database
     private JTextField m_name;
     private JTextField m_age;
     private JTextField m_weight;
     private JTextField m_professionalism;
     private JTextField m_speed;
     private JTextField m_acceleration;
     private JTextField m_jump;
     private JTextField m_stamina;
     private JTextField m_bravery;
     private JTextField m_fitness;
     private JTextField m_experience;
     //labels to identify the textfields
     private JLabel m_labelname;
     private JLabel m_labelage;
     private JLabel m_labelweight;
     private JLabel m_labelspeed;
     private JLabel m_labelacceleration;
     private JLabel m_labelprofessionalism;
     private JLabel m_labeljump;
     private JLabel m_labelstamina;
     private JLabel m_labelbravery;
     private JLabel m_labelfitness;
     private JLabel m_labelexperience;
     DatabaseMan m_DatabaseMan;
     private String strSQLQuery1;
     private String type1 = new String("");
     public DBviewer(Frame parent, String caption, boolean bModal, String type)
          super(parent,caption,true);
          setSize(600,400);
          setLocation( new Point(150 , 150 )); //position it pops up on screen.
          setResizable(false);
          strSQLQuery1 = new String("");
          type1 = type;
          //SQL query to show the horse database
          if(type =="Horse")
               strSQLQuery1 ="SELECT *" +
                              "FROM HORSE";
               buildHorseGUI();
          if(type =="Jockey")
               strSQLQuery1 ="SELECT *" +
                              "FROM JOCKEY"+
                              " ORDER BY NAME";
               buildJockeyGUI();                         
          if(type =="Course")
               strSQLQuery1 ="SELECT *" +
               "FROM RACECOURSE"+
                              " ORDER BY NAME";
               buildCourseGUI();
          m_DatabaseMan = new DatabaseMan(strSQLQuery1);
          /*try
          {//reset values with default move up to top later
               if(m_DatabaseMan.m_resultSet.first())
                    transferData(type1);
          catch( SQLException exSQL)
               System.out.println("SQL Exception: " + exSQL.getMessage());
               exSQL.printStackTrace(System.out);
     public void buildHorseGUI() //construct the horse GUI
          buildDefaultGUI(); //build default buttons and toolbar
          m_labelname = new JLabel(" Horse Name:",JLabel.CENTER);
          m_labelname.setBackground(Color.blue);
          m_labelname.setForeground(Color.white);
          m_labelage = new JLabel("Age: ",JLabel.CENTER);
          m_labelage.setBackground(Color.blue);
          m_labelage.setForeground(Color.white);     
          m_labelweight = new JLabel("Weight(p): ",JLabel.CENTER);
          m_labelweight.setBackground(Color.blue);
          m_labelweight.setForeground(Color.white);
          m_labelspeed = new JLabel("Speed:",JLabel.CENTER);
          m_labelspeed.setBackground(Color.blue);
          m_labelspeed.setForeground(Color.white);
          m_labelacceleration = new JLabel("Acceleration:",JLabel.CENTER);
          m_labelacceleration.setBackground(Color.blue);
          m_labelacceleration.setForeground(Color.white);
          m_labelprofessionalism = new JLabel("Professionalism:",JLabel.CENTER);
          m_labelprofessionalism.setBackground(Color.blue);
          m_labelprofessionalism.setForeground(Color.white);
          m_labeljump = new JLabel("Jump:",JLabel.CENTER);
          m_labeljump.setBackground(Color.blue);
          m_labeljump.setForeground(Color.white);
          m_labelstamina = new JLabel("Stamina:",JLabel.CENTER);
          m_labelstamina.setBackground(Color.blue);
          m_labelstamina.setForeground(Color.white);     
          m_labelbravery = new JLabel("Bravery:",JLabel.CENTER);
          m_labelbravery.setBackground(Color.blue);
          m_labelbravery.setForeground(Color.white);
          m_labelfitness = new JLabel("Fitness:",JLabel.CENTER);
          m_labelfitness.setBackground(Color.blue);
          m_labelfitness.setForeground(Color.white);     
          m_labelexperience = new JLabel("Experience",JLabel.CENTER);
          m_labelexperience.setBackground(Color.blue);
          m_labelexperience.setForeground(Color.white);          
          //creation of textfields to hold the data
          //making them non-editable and b/ground of black with white text
          m_name = new JTextField(20);
          m_name.setEditable(false);
          m_name.setBackground(Color.black);
          m_name.setForeground(Color.white);
          m_age = new JTextField(2);
          m_age.setEditable(false);
          m_age.setBackground(Color.black);
          m_age.setForeground(Color.white);
          m_weight = new JTextField(3);
          m_weight.setEditable(false);
          m_weight.setBackground(Color.black);
          m_weight.setForeground(Color.white);
          m_speed = new JTextField(2);
          m_speed.setEditable(false);
          m_speed.setBackground(Color.black);
          m_speed.setForeground(Color.white);
          m_acceleration = new JTextField(2);
          m_acceleration.setEditable(false);
          m_acceleration.setBackground(Color.black);
          m_acceleration.setForeground(Color.white);
          m_professionalism = new JTextField(2);
          m_professionalism.setEditable(false);
          m_professionalism.setBackground(Color.black);
          m_professionalism.setForeground(Color.white);
          m_jump = new JTextField(2);
          m_jump.setEditable(false);
          m_jump.setBackground(Color.black);
          m_jump.setForeground(Color.white);
          m_stamina = new JTextField(2);
          m_stamina.setEditable(false);
          m_stamina.setBackground(Color.black);
          m_stamina.setForeground(Color.white);
          m_bravery = new JTextField(2);
          m_bravery.setEditable(false);
          m_bravery.setBackground(Color.black);
          m_bravery.setForeground(Color.white);
          m_fitness = new JTextField(2);
          m_fitness.setEditable(false);
          m_fitness.setBackground(Color.black);
          m_fitness.setForeground(Color.white);
          m_experience = new JTextField(2);
          m_experience.setEditable(false);
          m_experience.setBackground(Color.black);
          m_experience.setForeground(Color.white);
          //create a panel to hold this data
          Panel data = new Panel();
          data.setLayout(new GridLayout(0,4));
          data.setBackground(Color.blue);
          data.add(m_labelname);
          data.add(m_name);
          data.add(m_labelage);
          data.add(m_age);
          data.add(m_labelweight);
          data.add(m_weight);
          data.add(m_labelspeed);
          data.add(m_speed);
          data.add(m_labelacceleration);
          data.add(m_acceleration);
          data.add(m_labelprofessionalism);
          data.add(m_professionalism);
          data.add(m_labeljump);
          data.add(m_jump);
          data.add(m_labelstamina);
          data.add(m_stamina);
          data.add(m_labelbravery);
          data.add(m_bravery);
          data.add(m_labelfitness);
          data.add(m_fitness);
          data.add(m_labelexperience);
          data.add(m_experience);
          getContentPane().add(data, BorderLayout.CENTER);
     public void buildDefaultGUI() //construct the default components for GUI
          JToolBar wndToolBar = new JToolBar();
          wndToolBar.setBackground(Color.green);
          wndToolBar.setFloatable(false);
          m_buttonFirst = new JButton( new ImageIcon( "graphic/myFirst.gif" ) );
          m_buttonPrevious = new JButton(new ImageIcon( "graphic/myPrevious.gif" ) );
          m_buttonNext = new JButton(new ImageIcon( "graphic/myNext.gif" ) );
          m_buttonLast = new JButton(new ImageIcon( "graphic/myLast.gif" ) );
          m_buttonClose = new JButton(new ImageIcon( "graphic/myClose.gif" ) );
          m_mainbuttonClose = new JButton("CLOSE");
          // implement action listener
          m_buttonFirst.addActionListener(this);
          m_buttonPrevious.addActionListener(this);
          m_buttonNext.addActionListener(this);
          m_buttonLast.addActionListener(this);
          m_buttonClose.addActionListener(this);
          m_mainbuttonClose.addActionListener(this);
          //set the tool tips for each of the button
          m_buttonFirst.setToolTipText( "Display first record" );
          m_buttonPrevious.setToolTipText( "Display previous record" );
          m_buttonNext.setToolTipText( "Display next record" );
          m_buttonLast.setToolTipText( "Display last record" );
          m_buttonClose.setToolTipText( "Close this window and return to game" );
          m_mainbuttonClose.setToolTipText( "Close this window and return to game" );
          m_mainbuttonClose.setBackground(Color.green);
          //add these buttons to the toolbar
          wndToolBar.add( m_buttonFirst );
          wndToolBar.add( m_buttonPrevious );
          wndToolBar.add( m_buttonNext );
          wndToolBar.add( m_buttonLast );
          wndToolBar.addSeparator(); //separator in the toolbar
          wndToolBar.add( m_buttonClose );
          getContentPane().add(wndToolBar, BorderLayout.NORTH);
          getContentPane().add(m_mainbuttonClose, BorderLayout.SOUTH);
     public void buildCourseGUI() //construct the course GUI
          buildDefaultGUI();
     public void buildJockeyGUI() //construct the jockey GUI
          buildDefaultGUI();
     public void actionPerformed( ActionEvent evt)
          //button first record is pressed
          if( evt.getSource() == m_buttonFirst )
               try
                    if( m_DatabaseMan.m_resultSet.first() )
                         transferData(type1);
               catch (SQLException exSQL )
                    System.err.println( exSQL.toString() );
          //button next record is pressed
          if( evt.getSource() == m_buttonNext )
               try
                    if(!m_DatabaseMan.m_resultSet.isLast())
                         if(m_DatabaseMan.m_resultSet.next())
                              transferData(type1);
               catch (SQLException exSQL )
                    System.err.println( exSQL.toString() );
          //previous button is pressed
          if( evt.getSource() == m_buttonPrevious )
               try
                    if( !m_DatabaseMan.m_resultSet.first())
                         if(m_DatabaseMan.m_resultSet.previous())
                              transferData(type1);
               catch (SQLException exSQL )
                    System.err.println( exSQL.toString() );
          //last button is pressed
          if( evt.getSource() == m_buttonLast )
               try
                    if(m_DatabaseMan.m_resultSet.last())
                         transferData(type1);
               catch (SQLException exSQL )
                    System.err.println( exSQL.toString() );
          // close button(s) pressed
          if( evt.getSource() == m_buttonClose)
               setVisible( false );
               dispose(); //return the dialog window resources
               m_DatabaseMan.CloseConnection();
          if( evt.getSource() == m_mainbuttonClose)
               setVisible( false );
               dispose(); //return the dialog window resources
               m_DatabaseMan.CloseConnection();
     public void transferData(String type1) throws SQLException //return a String
          if(type1 =="Horse")
               //transfer horse details
               m_name.setText(m_DatabaseMan.m_resultSet.getString("NAME"));
               m_professionalism.setText(m_DatabaseMan.m_resultSet.getString("PROFESSIONALISM"));
               m_speed.setText(m_DatabaseMan.m_resultSet.getString("SPEED"));
               m_stamina.setText(m_DatabaseMan.m_resultSet.getString("STAMINA"));
               m_weight.setText(m_DatabaseMan.m_resultSet.getString("WEIGHT"));
               m_experience.setText(m_DatabaseMan.m_resultSet.getString("EXPERIENCE"));
               m_fitness.setText(m_DatabaseMan.m_resultSet.getString("FITNESS"));
               m_jump.setText(m_DatabaseMan.m_resultSet.getString("JUMP"));
               m_age.setText(m_DatabaseMan.m_resultSet.getString("AGE"));
               m_bravery.setText(m_DatabaseMan.m_resultSet.getString("BRAVERY"));
               m_acceleration.setText(m_DatabaseMan.m_resultSet.getString("ACCELERATION"));
          if(type1 =="Jockey")
               m_name.setText(m_DatabaseMan.m_resultSet.getString("NAME"));
               m_age.setText(m_DatabaseMan.m_resultSet.getString("AGE"));
          if(type1 =="Course")
               //transfer course details not implemented yet
} //end of class DBviewer
I ve set up an odbc driver and the database has data in it but I still get this run time error an no data is transfered to the dialog box
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1525)
at sun.jdbc.odbc.JdbcOdbcResultSet.reWordAsCountQuery(JdbcOdbcResultSet.java:6268)
at sun.jdbc.odbc.JdbcOdbcResultSet.calculateRowCount(JdbcOdbcResultSet.java:6061)
at sun.jdbc.odbc.JdbcOdbcResultSet.initialize(JdbcOdbcResultSet.java:150)
at sun.jdbc.odbc.JdbcOdbcStatement.getResultSet(JdbcOdbcStatement.java:420)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:250)
at DatabaseMan.<init>(DatabaseMan.java:34)
at DBviewer.<init>(DBviewer.java:83)
at MainWindow.actionPerformed(MainWindow.java:266)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
at java.awt.Component.processMouseEvent(Component.java:3715)
at java.awt.Component.processEvent(Component.java:3544)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:914)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
Im really stuck!!! any suggestions? thanks in advance

Thank you for your response and sorry for the length
of code,
Thats was my first idea that it was asking for
or something I dont have but I checked my database and
I dont have any unusually large data entries (most
between 8-15 letters, the others are numbers) could it
be something wrong with how I've entered the database
in MsAccess, or am i barking up the wrong tree again!
Many thanks
RobI think you've misunderstood me. This has nothing to do with unusually large data entries, but rather the opposite. You are wrongly expecting data that is shorter than you think. When you call rs.getString(i) to retrieve a column value of a field, and you only want the first 5 characters in the column (instead of 10 or whatever the column size is), you would do something similar to the following:
String column_value = rs.getString(1).subtstring(0,5);The above expects a String that is at least 5 characters. Your problem is when your column value returned is less than the specified substring index ( in this case 5 ) it will throw an exception. If you changed your code to this, the error will not occur:
String column_value = rs.getString( 1 ).subtstring( 0, 5);
if ( column_value.length() > 5 )
column_value = column_value.substring( 0, 5 );
}Jamie

Similar Messages

  • Problem with jdbc:odbc returning incorrect number of rows.

    Hello,
    Am sure i have done something stupid, but i have an issue with jdbc:odbc ....
    It is a simple sceanrio that i have coded umpteen times before ...
    I have the following ....
    1. Connection to DB2 on an IBM i5 (I apologise for not using native drivers from jt400.jar, but i had an ODBC code example and was in a rush - no excuse i know)
    2. Statement object created from connection above
    3. A string with my SQL in it
    4. A result set for the results.
    These are created as follows:
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection(ODBCSource, userID, password);
    if (con == null) {
    // error handling not relevant here
    } else {
    Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    String SQL = "select * from table";
    ResultSet rs = s.executeQuery(SQL);
    i then try to loop ....
    while (rs.next() )
    // stuff
    however, i only ever get one result .... if i stick in the check for isLast, the first loop hits this check, i get my little status message, and the loop ends.
    while (rs.next() )
    if (rs.isLast() )
    System.out.println("I am on last record");
    BUT if i run the SQL
    "select count(*) from table" ... i get a count of 148 !!
    I tried setting the FetchSize through setFetchSize(), but made no difference.
    This is running on a JBoss server 4.2.1GA, JDK is "jdk1.6.0_02" .... i have a suspicion that this may be a JBoss specfic issue, as this exact code runs just fine on the Domino platform that it was originally on, if this is the case, i apologise for wasting everyones time .... but would still appreciate any pointers you can give me.
    Cheers

    Hello,
    Thanks for the reply, I am not sure i follow what you are saying.
    I only mentioned JBoss as it is the application server that we have deployed to and because the orignal code ran fine on a Domino server, I will take your advice and try to run it through in debug rather than running actually on the application server.
    Am i incorrect in my assumption that if "select count(*) from table" gives a count of 148, i should expect 148 records in a result set created from "select * from table" ? This is all rather new to me so i apologise if this is incorrect, I'd love to know why this is incorrect so i dont make similar mistakes in future.
    Also, If i run this same code on the previous platform, i get 148 iterations of the code contained within
    while (rs.next() ) { ... }
    When the war file is deployed to JBoss, the same SQL statement gives a result set that only iterates once for
    while (rs.next() ) { ... }
    The previous platform as I say was domino, but it was running as a lotus notes java agent (despite not using any notes documents etc) as it happened to be where the web pages that call this process were located. It is possible that some of the main code has changed as I had cut and paste the code into a servlet using MyEclipse, but i have double checked the bit that does this SQL request and it is identical
    To complete the picture, the new servelt is then called from the action tag on the submit form on a JSP, when it ends the servlet redirects via the requestdispacher to success or failure jsp pages depending on the outcome of the processing.
    Thank you again for your help.

  • Problems with JDBC-ODBC Driver

    Hello,
    I am trying to access a DSN on my windows with a dedicated DB driver of some company. so i used the JDBC-ODBC connector.
    when launching the java code, and debugging the problem i get the following error:
    DriverManager.getConnection("jdbc:odbc:priority32;UID=Manager;PWD=keren")
        trying driver--className=com.mysql.jdbc.Driver,com.mysql.jdbc.Driver@16caf43--
        trying driver--className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@66848c--
    *Driver.connect (jdbc:odbc:priority32;UID=Manager;PWD=keren)
    JDBC to ODBC Bridge: Checking security
    No SecurityManager present, assuming trusted application/applet
    JDBC to ODBC Bridge 2.0001
    Current Date/Time: Tue Aug 12 07:50:37 VET 2008
    Loading JdbcOdbc library
    Allocating Environment handle (SQLAllocEnv)
    hEnv=50338088
    Allocating Connection handle (SQLAllocConnect)
    hDbc=50338256
    Connecting (SQLDriverConnect), hDbc=50338256, szConnStrIn=DSN=priority32;UID=Manager;PWD=keren
    *Connection.getMetaData
    *DatabaseMetaData.getDriverName
    Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=6, len=300
    tabula.dll
    *DatabaseMetaData.getDriverVersion
    Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=7, len=300
    07.00.0000
    *DatabaseMetaData.getDriverName
    Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=6, len=300
    tabula.dll
    Driver name:    JDBC-ODBC Bridge (tabula.dll)
    *DatabaseMetaData.getDriverVersion
    Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=7, len=300
    07.00.0000
    Driver version: 2.0001 (07.00.0000)
    Caching SQL type information
    *Connection.getMetaData
    *DatabaseMetaData.getTypeInfo
    Allocating Statement Handle (SQLAllocStmt), hDbc=50338256
    hStmt=50339424
    Get type info (SQLGetTypeInfo), hStmt=50339424, fSqlType=0
    Number of result columns (SQLNumResultCols), hStmt=50339424
    value=15
    Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=10, len=300
    03.52.0000
    Fetching (SQLFetch), hStmt=50339424
    Column attributes (SQLColAttributes), hStmt=50339424, icol=1, type=2
    value (int)=12
    Column attributes (SQLColAttributes), hStmt=50339424, icol=1, type=3
    value (int)=129
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    CHAR
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=12
    Get integer data (SQLGetData), hStmt=50339424, column=3
    value=0
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    CHAR(1)
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=1
    Get integer data (SQLGetData), hStmt=50339424, column=3
    value=0
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    RCHAR
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=12
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    REAL
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=6
    Get integer data (SQLGetData), hStmt=50339424, column=3
    value=0
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    INT
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=4
    Get integer data (SQLGetData), hStmt=50339424, column=3
    value=0
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    UNSIGNED
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=4
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    TIME
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=10
    Get integer data (SQLGetData), hStmt=50339424, column=3
    value=0
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    DATE
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=11
    Get integer data (SQLGetData), hStmt=50339424, column=3
    value=0
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    DATE
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=9
    Get integer data (SQLGetData), hStmt=50339424, column=3
    value=0
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    DAY
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=4
    Fetching (SQLFetch), hStmt=50339424
    Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
    DECIMAL
    Get integer data (SQLGetData), hStmt=50339424, column=2
    value=3
    Get integer data (SQLGetData), hStmt=50339424, column=3
    value=0
    Fetching (SQLFetch), hStmt=50339424
    End of result set (SQL_NO_DATA)
    *ResultSet.close
    Free statement (SQLFreeStmt), hStmt=50339424, fOption=1
    *ResultSet has been closed
    Get connection info (SQLGetInfo), hDbc=50338256, fInfoType=44
    int value=0
    Get connection info (SQLGetInfo), hDbc=50338256, fInfoType=121
    RETCODE = -1
    ERROR - Generating SQLException...
    SQLState(S1096) vendor code(0)
    java.sql.SQLException: [Microsoft][ODBC Driver Manager] Information type out of range
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
        at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
        at sun.jdbc.odbc.JdbcOdbc.SQLGetInfo(Unknown Source)
        at sun.jdbc.odbc.JdbcOdbcConnection.checkBatchUpdateSupport(Unknown Source)
        at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
        at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at WigsUpdate.main(WigsUpdate.java:25)
    getConnection returning driver--className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@66848c--what can be done?
    thank you very much

    HimberJack wrote:
    oh now i understand.
    i got a very unknown company which supplied the ODBC driver, but they dont have java driver...
    so I have nothing to do about it?The choices are find a different driver or use the one you have.
    The one you have doesn't do batches.
    Finding a different driver could involve the following.
    - Buying one from somewhere else
    - Pay someone to write one.
    - Write a driver yourself.
    All of those are somewhat dependent that the "unknown company" has an API that supports that. You (or someone) could also figure out the file format of the "unknown company" as well and then write one.

  • Newbie: Problem with jdbc-odbc and MS SQL server 2005

    I'm on win vistax64 with SQLSERVER 2005 and I have set up the odbc source as system dsn using the SQL Native Client driver with SQL authentication and the connectivity test in the end succeeds.
    I'm trying to make a simple web app that will connect to the database and perform simple querries. It's a school assignment.
    I'm using the jdbc-odbc bridge because it's the simplest way to do it and it's what we were shown in class.
    I get the following irritating error:
    "Cannot establish a connection to jdbc:odb:sstmdb using sun.jdbc.odbc.JdbcOdbcDriver ([Microsoft][ODBC Driver Manager] Data source name not found and no default driver specifies)".
    I'm working with netbeans 5.5.1 and this error is what I get when in the runtime tab I try to connect with the jdbc-odbc. I get a similar error in the logs when I try to run the app on the j2ee server.
    This is the java class that establishes the connection.
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class Connector {
        private static final String dbUrl="jdbc:odbc:sstmdb";
        private static final String user="kimon";
        private static final String password="jackohara";
        public static Connection getConnection(){
            Connection conn = null;
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                conn = DriverManager.getConnection(dbUrl,user,password);
            } catch (SQLException e) {
                e.printStackTrace(); 
            } catch (ClassNotFoundException e) {
                e.printStackTrace(); 
            return conn;
    }It has worked perfectly on my school PC with winXP and MSDE2000.
    What am I missing?

    Ok, help came from an other way where I was inquiring about a different problem:
    Connectivity works fine by using User DSN instead of System DSN for the ODBC source.

  • Problem with JDBC ODBC connectivity

    I am trying to connect to MS access database with jsp page. This is sample from my js page :
    String SUN_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
    Class.forName(SUN_DRIVER);
    String aDataSourceName = "puneet";
    String url = "jdbc:odbc:" + aDataSourceName;
    Connection con;
    con = DriverManager.getConnection("jdbc:odbc:puneet","","");
    The last line gives me the follwoing error :
    [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    puneet is name of my datasource and it points to my .mbd file.
    I dont have anyusername or passwords for this daatsource.
    I am using Tomcat/4.1.18-LE and jdk1.4
    I have also added rt.jar in the classpath
    pls help
    pg4

    Hi pg4,
    May be your dsn is not pointing to .mdb file. Check it by putting your mdb file right where your code is and then user following syntax which is called dsn-less connection. It helps you to connect to the target mdb file with out any need of dsn.
    String url = "jdbc:odbc:;Driver={Microsoft Access Driver (*.mdb)}; DBQ=yourDBFile.mdb";
    regards,
    Humayun

  • Problem with JDBC-ODBC bridge

    OS in my PC is Windows7 Ultimate(64-bit), and I had JDK1.7.0_21(compatible with my PC), Oracle 10G ExpressEdition(32-Bit), ApacheTomcat7.0.11(compatible with my PC).
    As my OS is 64-BIT, I accessed C:\Windows\SysWOW64\odbcad32 and  I selected UserDSN tab->Add->Microsoft ODBC for Oracle->finish,tapply->ok. Then a Dialog Box appeared and I entered a DSN name=ramsdsn and my DATABASE USERID=rams in username->ok->apply->ok.
    But when I tried to compile my program using:
          DriverManager.getConnection("jdbc:odbc:ramsdsn","rams","rams");
    I got an error:java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
    Help me FRNZ.. I have been trying it for 7 days and I'm tired of it and I could not figured it yet...
    THANKS in Advance...

    Wrong database is the most likely reason.
    Note that the ODBC driver is not a good driver for MS SQL Server. It handles varchar as chars. So an insert of 'A' into a varchar(25) will end up with 'A' followed by 24 spaces. And that probably isn't what you want your varchars to do.

  • Problem With Jdbc-Odbc BRidge Connection

    I get The following error
    SQLException:[Microsoft][ODBC Driver Manager] Invalid cursor state
    when using the code
    whats the problem with it
    import java.sql.*;
    public class Employee {
    String DBurl;
    Connection con;
    public Employee(String url)
    DBurl=url;
    void queryTest()
    String query="SELECT * FROM EmpTable";
    ResultSet result;
    Statement stmt;
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    catch(java.lang.ClassNotFoundException e){
    System.err.println("Class not Found Exception:");
    System.err.println(e.getMessage());
    try{
    con=DriverManager.getConnection(DBurl,"myLogin","mypassword");
    stmt=con.createStatement();
    result=stmt.executeQuery(query);
    System.out.println("ID"+"\t"+"Name"+"\t"+"Rate"+"\t"+"DeptID");
    System.out.println("--"+"\t"+"----"+"\t"+"---"+"\t"+"----");
    while(result.next());
    String name=result.getString("Name");
    int ID=result.getInt("ID");
    float rate=result.getFloat("Rate");
    int deptID=result.getInt("DeptID");
    System.out.println(ID+"\t"+name+"\t"+rate+"\t"+deptID);
    stmt.close();
    con.close();
    catch(SQLException ex){
    System.err.println("SQLException:" + ex.getMessage());
    public static void main(String args[])
    Employee app = new Employee("jdbc:odbc:Employee");
    app.queryTest();
    }

    here's your mistake:
    while(result.next());  // <--- the loop body is empty.Remove the semi-colon.
    %

  • I have a problem with JDBC Realm in Tomcat/Oracle/Win XP

    I have a problem with JDBC Realm in Tomcat.
    I have attached my server.xml file located in the
    C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml
    The Problem is that when I login I get the user name and password prompt but it does not resolve.
    When I enter in the tomcat-users.xml password with memory realm uncommented it works fine.
    C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\tomcat-users.xml
    Is there a cache or something I need to reset for the JDBC Realm to work?
    I have attached my tables and contents as well...
    Did I miss something????
    Thanks
    Phil
    server.xml
    <Server port="8005" shutdown="SHUTDOWN">
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    </GlobalNamingResources>
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector
    port="8080" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"
    connectionName="testName" connectionPassword="testPass"
    userTable="users"
    userNameCol="user_name"
    userCredCol="user_pass"
    userRoleTable="user_roles"
    roleNameCol="role_name" />
    <!-- Define the default virtual host
    Note: XML Schema validation will not work with Xerces 2.2.
    -->
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    </Host>
    </Engine>
    </Service>
    </Server>
    Tables
    create table users
    user_name varchar(15) not null primary key,
    user_pass varchar(15) not null
    create table roles
    role_name varchar(15) not null primary key
    create table user_roles
    user_name varchar(15) not null,
    role_name varchar(15) not null,
    primary key( user_name, role_name )
    select * from users;
    ----------------------+
    | user_name | user_pass |
    ----------------------+
    | tomcat | tomcat |
    | user1 | tomcat |
    | user2 | tomcat |
    | user3 | tomcat |
    ----------------------+
    select * from roles;
    | role_name |
    | tomcat |
    | role1 |
    select * from user_roles;
    -----------------------+
    | role_name | user_name |
    -----------------------+
    | tomcat | user1 |
    | role1 | user2 |
    | tomcat | tomcat |
    | role1 | tomcat |
    -----------------------+

    Jan 2, 2008 11:49:35 AM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8080
    Jan 2, 2008 11:49:35 AM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 734 ms
    Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardService start
    INFO: Starting service Catalina
    Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/5.5.9
    Jan 2, 2008 11:49:35 AM org.apache.catalina.realm.JDBCRealm start
    SEVERE: Exception opening database connection
    java.sql.SQLException: oracle.jdbc.driver.OracleDriver
         at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:684)
         at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:758)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1004)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
         at org.apache.catalina.core.StandardService.start(StandardService.java:450)
         at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
    Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardHost start
    INFO: XML validation disabled
    Jan 2, 2008 11:49:36 AM org.apache.catalina.core.StandardContext resourcesStart

  • Update problems with jdbc on access db too

    hi..
    i have a strange problem with updating a record in ms-access - db by using jdbc.
    my program creates a "correct??" update-statement but i get an error-message: errorcode:3144.. syntaxerror in update-statement or something like that..
    thats the statement that my program creates:
    update maX2 set m1='super',set m2='hallo' where id=2
    java-code:
    Statement stmt = con.createStatement();
    stmt.executeUpdate(... the update-statement ...);
    does anybody know why i get this errormessage?

    Your statemente should be:
    update maX2 set m1='super', m2='hallo' where id=2
    HTH

  • MS access,servlets and jdbc-odbc

    when i try to connect to ms access database using servlet i get unable to open registry key DriverId problem.
    servlet successfully extracts the form data.Even jdbc code alone works fine, but when jdbc code is embeded in servlet I get the above error.I am using java web server 2.0 and a jdbc-odbc(type 1) driver.
    Please help me.................!
    I cannot proceed with my project without solving this problem.

    You have not specified the exception class.
    If it is java.security, try peeping into jws security directory, and set the access to your servlet directory.
    I do not know this helped you or not.
    regards

  • Oracle RDB Driver fails with JDBC/ODBC Bridge

    Has anyone experienced problems using the latest Oracle RDB
    Driver (3.0.2.0) with the JDBC/ODBC Bridge.
    We have been using the Oracle ODBC Driver for RDB (2.10.17)
    successfully on NT, but it is not supported on W2K. The new
    drivers work fine for Access etc., but fail with the bridge.
    Specifically, you can step thru a result set, but getObject()
    returns null for all fields.
    Any suggestions?
    Joe

    This forum is for general suggestions and feedback about the OTN
    site. For technical question about an Oracle product, you can
    select the appropriate discussion forum in our 'Discussions'
    section at: http://forums.oracle.com/forums/homepage.jsp
    Best regards, OTN Team

  • Problem with JDBC and Tomcat

    I don't know where the problem originate, the only thing in my memory is that the program worked very well on my PC yesterday, but today, without even slightest change, it doesn't work anymore. As to debug it, I simplified the codes to the least, but it still refuse to work. I was beaten down by this problem totally, and cannot make out any solution for it, so, I come here, hoping to find a warrior to kill this damned bug for me.
    My program is a Servlet, but for the purpose of debugging, I have recode it to an Application/Servlet. When run as a application, I can get the result expected, but as a Servlet, :-(, maybe you should see it by yourself. My server software is Tomcat 4.1.15, and the JDK version is 1.4.0. To excute this program, you should add Data Source "Test" to ODBC.
    ///////////////////////code begins/////////////////////////
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    public class Ex extends HttpServlet
         int ErrorType = 0;
         String err = new String("");
         public static void main(String args[]) throws Exception{
              Ex cEx = new Ex();
              cEx.init();     
              System.out.println(cEx.ErrorType);     
         public void init() {
              String url = "jdbc:odbc:Test";
              ErrorType = 3;     //passed
              try{
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              } catch (ClassNotFoundException e) {
                   e.printStackTrace();
                   ErrorType = 1; //trapped in Class.forName
              try{
                   Connection c = DriverManager.getConnection(url);
              } catch (SQLException e) {
                   e.printStackTrace();
                   ErrorType = 2; //trapped in DriverManager.getConnection
                   err = e.getMessage();
         public void service(HttpServletRequest req, HttpServletResponse res)
                   throws IOException {
              res.setContentType("text/html; charset=GB2312");
              PrintWriter out = res.getWriter();
              out.println("Success " + "<p>" + ErrorType + "<p>" +err);
              out.close();
    //////////////////////////code ends///////////////////////////////
    The result from the Servlet tell me that the problem occurred within the connection process, I don't know who should be responsible to this - Tomcat or JDBC?

    If you could print the exception that you got then that would help :) In the mean time, I could make a guess. It is unlikely that your application server (in this case, Tomcat) is blocking connections from your servlet. So the problem is either with JDBC directly or with the underlying datasource. It seems unlikely that it is JDBC given that you have stated that the code has not changed and it works in application form.
    My guess would be that you are coming up against some sort of security constraint (eg: your DBMS is letting you log in from one IP but not another?, your Java plug-in security policy is disallowing the connection?). It's hard to say.
    But if it works as an application but not via a servlet then you could try putting this in your java.policy file, which is located in the directory where your plug-ins are installed (eg: "C:\Program Files\Java\<version>\lib\security\") on Windows systems;
    permission java.net.SocketPermission "bend xp:1099", "listen,connect,accept";
    Try that, see if it works :)
    Ben

  • Fix many web access problems with IFS 9.0.1 on Solaris (and other OS's)...

    When the installation is done according to the documentation,
    web access does not work because the scripts that add entries to
    the jserv.properties file add duplicate references to
    wrapper.env and wrapper.classpath. Look at the jserv.properties
    file below and look at the remarked-out (#) lines of the
    duplicate references. For example, look at the references to the
    wrapper.env=LD_LIBRARY_PATH
    Oracle, please note this bug so the web access problems are
    minimized when the product is intstalled.
    Thank you,
    William T.
    # Apache JServ Configuration
    File #
    ################################ W A R N I N G
    # Unlike normal Java properties, JServ configurations have some
    important
    # extensions:
    # 1) commas are used as token separators
    # 2) multiple definitions of the same key are concatenated in
    a
    # comma separated list.
    # Execution parameters
    # The Java Virtual Machine interpreter.
    # Syntax: wrapper.bin=[filename] (String)
    # Note: specify a full path if the interpreter is not visible in
    your path.
    wrapper.bin=/d3/Apache/jdk/bin/java
    # Arguments passed to Java interpreter (optional)
    # Syntax: wrapper.bin.parameters=[parameters] (String)
    # Default: NONE
    wrapper.bin.parameters=-Xms64m
    wrapper.bin.parameters=-Xmx128m
    # Apache JServ entry point class (should not be changed)
    # Syntax: wrapper.class=[classname] (String)
    # Default: "org.apache.jserv.JServ"
    # Arguments passed to main class after the properties filename
    (not used)
    # Syntax: wrapper.class.parameters=[parameters] (String)
    # Default: NONE
    # Note: currently not used
    # PATH environment value passed to the JVM
    # Syntax: wrapper.path=[path] (String)
    # Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems
    # "c:\(windows-dir);c:\(windows-system-dir)" for Win32
    systems
    # Notes: if more than one line is supplied these will be
    concatenated using
    # ":" or ";" (depending wether Unix or Win32) characters
    # Under Win32 (windows-dir) and (windows-system-dir) will
    be
    # automatically evaluated to match your system
    requirements
    # CLASSPATH environment value passed to the JVM
    # Syntax: wrapper.classpath=[path] (String)
    # Default: NONE (Sun's JDK/JRE already have a default classpath)
    # Note: if more than one line is supplied these will be
    concatenated using
    # ":" or ";" (depending wether Unix or Win32) characters.
    JVM must be
    # able to find JSDK and JServ classes and any utility
    classes used by
    # your servlets.
    # Note: the classes you want to be automatically reloaded upon
    modification
    # MUST NOT be in this classpath or the classpath of the
    shell
    # you start the Apache from.
    wrapper.classpath=/d3/Apache/jdk/lib/tools.jar
    wrapper.classpath=/d3/Apache/Jserv/libexec/ApacheJServ.jar
    wrapper.classpath=/d3/Apache/Jsdk/lib/jsdk.jar
    # An environment name with value passed to the JVM
    # Syntax: wrapper.env=[name]=[value] (String)
    # Default: NONE on Unix Systems
    # SystemDrive and SystemRoot with appropriate values on
    Win32 systems
    wrapper.env=PATH=/d3/bin
    # An environment name with value copied from caller to Java
    Virtual Machine
    # Syntax: wrapper.env.copy=[name] (String)
    # Default: NONE
    # Uncomment the following lines to set the default locale and
    NLS_LANG
    # setting based on the environment variables.
    # wrapper.env.copy=LANG
    # wrapper.env.copy=NLS_LANG
    # Copies all environment from caller to Java Virtual Machine
    # Syntax: wrapper.env.copyall=true (boolean)
    # Default: false
    # Protocol used for signal handling
    # Syntax: wrapper.protocol=[name] (String)
    # Default: ajpv12
    # General parameters
    # Set the default IP address or hostname Apache JServ binds (or
    listens) to.
    # If you have a machine with multiple IP addresses, this address
    # will be the one used. If you set the value to localhost, it
    # will be resolved to the IP address configured for the locahost
    # on your system (generally this is 127.0.0.1). This feature is
    so
    # that one can have multiple instances of Apache JServ listening
    on
    # the same port number, but different IP addresses on the same
    machine.
    # Use bindaddress=* only if you know exactly what you are doing
    here,
    # as it could let JServ wide open to the internet.
    # You must understand that JServ has to answer only to Apache,
    and should not
    # be reachable by nobody but mod_jserv. So localhost is usually a
    # good option. The second best choice would be an internal
    network address
    # (protected by a firewall) if JServ is running on another
    machine than Apache.
    # Ask your network admin.
    # "*" may be used on boxes where some of the clients get
    connected using
    # "localhost"and others using another IP addr.
    # Syntax: bindaddress=[ipaddress] or [localhost] or [*]
    # Default: localhost
    bindaddress=localhost
    # Set the port Apache JServ listens to.
    # Syntax: port=[1024,65535] (int)
    # Default: 8007
    port=8007
    # Servlet Zones parameters
    # List of servlet zones Apache JServ manages
    # Syntax: zones=[servlet zone],[servlet zone]... (Comma
    separated list of String)
    # Default: NONE
    zones=root
    # Configuration file for each servlet zone (one per servlet zone)
    # Syntax: [servlet zone name as on the zones list].properties=
    [full path to configFile]
    (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    root.properties=/d3/Apache/Jserv/etc/zone.properties
    # Thread Pool parameters
    # Enables or disables the use of the thread pool.
    # Syntax: pool=true (boolean)
    # Default: false
    # WARNING: the pool has not been extensively tested and may
    generate
    deadlocks.
    # For this reason, we advise against using this code in
    production environments.
    pool=false
    # Indicates the number of idle threads that the pool may contain.
    # Syntax: pool.capacity=(int)>0
    # Default: 10
    # NOTE: depending on your system load, this number should be low
    for contantly
    # loaded servers and should be increased depending on load
    bursts.
    pool.capacity=10
    # Indicates the pool controller that should be used to control
    the
    # level of the recycled threads.
    # Syntax: pool.controller=[full class of controller] (String)
    # Default: org.apache.java.recycle.DefaultController
    # NOTE: it is safe to leave this unchanged unless special
    recycle behavior
    # is needed. Look at the "org.apache.java.recycle" package
    javadocs for more
    # info on other pool controllers and their behavior.
    pool.controller=org.apache.java.recycle.DefaultController
    # Security parameters
    # Enable/disable the execution of org.apache.jserv.JServ as a
    servlet.
    # This is disabled by default because it may give informations
    that should
    # be restricted.
    # Note that the execution of Apache JServ as a servlet is
    filtered by the web
    # server modules by default so that both sides should be enabled
    to let this
    # service work.
    # This service is useful for installation and configuration
    since it gives
    # feedback about the exact configurations Apache JServ is using,
    but it should
    # be disabled when both installation and configuration processes
    are done.
    # Syntax: security.selfservlet=true (boolean)
    # Default: false
    # WARNING: disable this in a production environment since may
    give reserved
    # information to untrusted users.
    security.selfservlet=true
    # Set the maximum number of socket connections Apache JServ may
    handle
    # simultaneously. Make sure your operating environment has
    enough file
    # descriptors to allow this number.
    # Syntax: security.maxConnections=(int)>1
    # Default: 50
    security.maxConnections=50
    # Backlog setting for very fine performance tunning of JServ.
    # Unless you are familiar to sockets leave this value commented
    out.
    # security.backlog=5
    # List of IP addresses allowed to connect to Apache JServ. This
    is a first
    # security filtering to reject possibly unsecure connections and
    avoid the
    # overhead of connection authentication.
    # <warning>
    # (please don't use the following one unless you know what you
    are doing :
    # security.allowedAddresses=DISABLED
    # allows connections on JServ'port from entire internet.)
    # You do need only to allow YOUR Apache to talk to JServ.
    # </warning>
    # Default: 127.0.0.1
    # Syntax: security.allowedAddresses=[IP address],[IP Address]...
    (Comma
    separated list of IP addresses)
    #security.allowedAddresses=127.0.0.1
    # Enable/disable connection authentication.
    # NOTE: unauthenticated connections are a little faster since
    authentication
    # handshake is not performed at connection creation.
    # WARNING: authentication is disabled by default because we
    believe that
    # connection restriction from all IP addresses but localhost
    reduces your
    # time to get Apache JServ to run. If you allow other addresses
    to connect and
    # you don't trust it, you should enable authentication to
    prevent untrusted
    # execution of your servlets. Beware: if authentication is
    disabled and the
    # IP address is allowed, everyone on that machine can execute
    your servlets!
    # Syntax: security.authentication=[true,false] (boolean)
    # Default: true
    security.authentication=false
    # Authentication secret key.
    # The secret key is passed as a file that must be kept secure
    and must
    # be exactly the same of those used by clients to authenticate
    themselves.
    # Syntax: security.secretKey=[secret key path and filename]
    (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    #security.secretKey=./etc/jserv.secret.key
    # Length of the randomly generated challenge string (in bytes)
    used to
    # authenticate connections. 5 is the lowest possible choice to
    force a safe
    # level of security and reduce connection creation overhead.
    # Syntax: security.challengeSize=(int)>5
    # Default: 5
    #security.challengeSize=5
    # Logging parameters
    # Enable/disable Apache JServ logging.
    # WARNING: logging is a very expensive operation in terms of
    performance. You
    # should reduced the generated log to a minumum or even disable
    it if fast
    # execution is an issue. Note that if all log channels (see
    below) are
    # enabled, the log may become really big since each servlet
    request may
    # generate many Kb of log. Some log channels are mainly for
    debugging
    # purposes and should be disabled in a production environment.
    # Syntax: log=[true,false] (boolean)
    # Default: true
    log=true
    # Set the name of the trace/log file. To avoid possible
    confusion about
    # the location of this file, an absolute pathname is recommended.
    # This log file is different than the log file that is in the
    # jserv.conf file. This is the log file for the Java portion of
    Apache
    # JServ.
    # On Unix, this file must have write permissions by the owner of
    the JVM
    # process. In other words, if you are running Apache JServ in
    manual mode
    # and Apache is running as user nobody, then the file must have
    its
    # permissions set so that that user can write to it.
    # Syntax: log.file=[log path and filename] (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    log.file=/d3/Apache/Jserv/logs/jserv.log
    # Enable the timestamp before the log message
    # Syntax: log.timestamp=[true,false] (boolean)
    # Default: true
    log.timestamp=true
    # Use the given string as a data format
    # (see java.text.SimpleDateFormat for the list of options)
    # Syntax: log.dateFormat=(String)
    # Default: [dd/MM/yyyy HH:mm:ss:SSS zz]
    log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz]
    # Since all the messages logged are processed by a thread
    running with
    # minimum priority, it's of vital importance that this thread
    gets a chance
    # to run once in a while. If it doesn't, the log queue overflow
    occurs,
    # usually resulting in the OutOfMemoryError.
    # To prevent this from happening, two parameters are used:
    log.queue.maxage
    # and log.queue.maxsize. The former defines the maximum time for
    the logged
    # message to stay in the queue, the latter defines maximum
    number of
    # messages in the queue.
    # If one of those conditions becomes true (age > maxage || size
    maxsize),# the log message stating that fact is generated and the log
    queue is
    # flushed in the separate thread.
    # If you ever see such a message, either your system doesn't
    live up to its
    # expectations or you have a runaway loop (probably, but not
    necessarily,
    # generating a lot of log messages).
    # WARNING: Default values are lousy, you probably want to tweak
    them and
    # report the results back to the development team.
    # Syntax: log.queue.maxage = [milliseconds]
    # Default: 5000
    log.queue.maxage = 5000
    # Syntax: log.queue.maxsize = [integer]
    # Default: 1000
    log.queue.maxsize = 1000
    # Enable/disable logging the channel name
    # Default: false
    # log.channel=false
    # Enable/disable channels, each logging different actions.
    # Syntax: log.channel.[channel name]=[true,false] (boolean)
    # Default: false
    # Info channel - quite a lot of informational messages
    # hopefully you don't need them under normal circumstances
    # log.channel.info=true
    # Servlets exception, i.e. exception caught during
    # servlet.service() processing are monitored here
    # you probably want to have this one switched on
    log.channel.servletException=true
    # JServ exception, caught internally in jserv
    # we suggest to leave it on
    log.channel.jservException=true
    # Warning channel, it catches all the important
    # messages that don't cause JServ to stop, leave it on
    log.channel.warning=true
    # Servlet log
    # All messages logged by servlets. Probably you want
    # this one to be switched on.
    log.channel.servletLog=true
    # Critical errors
    # Messages produced by critical events causing jserv to stop
    log.channel.critical=true
    # Debug channel
    # Only for internal debugging purposes
    # log.channel.debug=true
    #wrapper.classpath=/d3/ord/jlib/ordim.zip
    #wrapper.classpath=/d3/ord/jlib/ordhttp.zip
    # Oracle XSQL Servlet
    wrapper.classpath=/d3/lib/oraclexsql.jar
    # Oracle JDBC
    wrapper.classpath=/d3/jdbc/lib/classes12.zip
    # Oracle XML Parser V2 (with XSLT Engine)
    wrapper.classpath=/d3/lib/xmlparserv2.jar
    # Oracle XML SQL Components for Java
    wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
    # XSQLConfig.xml File location
    wrapper.classpath=/d3/xdk/admin
    # Oracle BC4J
    wrapper.classpath=/d3/ord/jlib/ordim.zip
    wrapper.classpath=/d3/ord/jlib/ordvir.zip
    wrapper.classpath=/d3/ord/jlib/ordhttp.zip
    wrapper.classpath=/d3/BC4J/lib/jndi.jar
    wrapper.classpath=/d3/BC4J/lib/jbomt.zip
    wrapper.classpath=/d3/BC4J/lib/javax_ejb.zip
    wrapper.classpath=/d3/BC4J/lib/jdev-rt.jar
    wrapper.classpath=/d3/BC4J/lib/jbohtml.zip
    wrapper.classpath=/d3/BC4J/lib/jboremote.zip
    wrapper.classpath=/d3/BC4J/lib/jdev-cm.jar
    wrapper.classpath=/d3/BC4J/lib/jbodomorcl.zip
    wrapper.classpath=/d3/BC4J/lib/jboimdomains.zip
    wrapper.classpath=/d3/BC4J/lib/collections.jar
    wrapper.classpath=/d3/Apache/Apache/htdocs/onlineorders_html
    #wrapper.classpath=/d3/Apache/Apache/htdocs/OnlineOrders_html/Onl
    ineOrders.jar
    # The following classpath entries are necessary for EJBs to run
    in IAS or DB when
    present
    wrapper.classpath=/d3/lib/aurora_client.jar
    wrapper.classpath=/d3/lib/vbjorb.jar
    wrapper.classpath=/d3/lib/vbjapp.jar
    # Oracle Servlet
    wrapper.classpath=/d3/lib/servlet.jar
    # Oracle Java Server Pages
    wrapper.classpath=/d3/jsp/lib/ojsp.jar
    # Oracle Util
    wrapper.classpath=/d3/jsp/lib/ojsputil.jar
    # Oracle Java SQL
    wrapper.classpath=/d3/sqlj/lib/translator.zip
    # Oracle JDBC
    #wrapper.classpath=/d3/jdbc/lib/classes12.zip
    # SQLJ runtime
    wrapper.classpath=/d3/sqlj/lib/runtime12.zip
    # Oracle Messaging
    wrapper.classpath=/d3/rdbms/jlib/aqapi.jar
    wrapper.classpath=/d3/rdbms/jlib/jmscommon.jar
    # OJSP environment settings
    #wrapper.env=ORACLE_HOME=/d3
    # The next line should be modified to reflect the value of the
    SID for your
    webserver.
    #wrapper.env=ORACLE_SID=cmpdb
    #wrapper.env=LD_LIBRARY_PATH=/d3/lib
    ## Enable the flag below if you are using jdk 1.2.2_05a or above
    #wrapper.env=JAVA_COMPILER=NONE
    # Advanced Queuing - AQXML
    wrapper.classpath=/d3/rdbms/jlib/aqxml.jar
    #wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
    #wrapper.classpath=/d3/lib/xmlparserv2.jar
    wrapper.classpath=/d3/lib/xschema.jar
    #wrapper.classpath=/d3/jlib/jndi.jar
    wrapper.classpath=/d3/jlib/jta.jar
    oemreporting.properties=/d3/Apache/Jserv/oemreporting/oemreportin
    g.properties
    zones = root, oemreporting
    wrapper.classpath=/d3/jlib/share-opt-1_1_9.zip
    wrapper.classpath=/d3/jlib/caboshare-opt-1_0_3.zip
    wrapper.classpath=/d3/jlib/marlin-opt-1_0_7.zip
    wrapper.classpath=/d3/jlib/tecate-opt-1_0_4.zip
    wrapper.classpath=/d3/jlib/ocelot-opt-1_0_2.zip
    wrapper.classpath=/d3/jlib/regexp.jar
    wrapper.classpath=/d3/jlib/sax2.jar
    #wrapper.classpath=/d3/jlib/servlet.jar
    wrapper.bin.parameters= -DORACLE_HOME=/d3
    #wrapper.env=LD_LIBRARY_PATH=/d3/lib32
    wrapper.env.copy=DISPLAY
    wrapper.bin.parameters=-DORACLE_HOME=/d3
    #wrapper.classpath=/d3/lib/vbjorb.jar
    #wrapper.classpath=/d3/lib/vbjapp.jar
    wrapper.classpath=/d3/classes/classesFromIDLVisi
    wrapper.classpath=/d3/jlib/swingall-1_1_1.jar
    wrapper.classpath=/d3/jlib/ewtcompat3_3_15.jar
    wrapper.classpath=/d3/jlib/ewt-3_3_18.jar
    wrapper.classpath=/d3/jlib/share-1_1_9.jar
    wrapper.classpath=/d3/jlib/help-3_2_9.jar
    wrapper.classpath=/d3/jlib/ice-5_06_3.jar
    wrapper.classpath=/d3/jdbc/lib/classes111.zip
    wrapper.classpath=/d3/classes
    wrapper.classpath=/d3/jlib/oembase-9_0_1.jar
    wrapper.classpath=/d3/jlib/oemtools-9_0_1.jar
    wrapper.classpath=/d3/jlib
    wrapper.classpath=/d3/jlib/javax-ssl-1_1.jar
    wrapper.classpath=/d3/jlib/jssl-1_1.jar
    wrapper.classpath=/d3/jlib/netcfg.jar
    wrapper.classpath=/d3/jlib/dbui-2_1_2.jar
    #wrapper.classpath=/d3/lib/aurora_client.jar
    #wrapper.classpath=/d3/lib/xmlparserv2.jar
    wrapper.classpath=/d3/network/jlib/netmgrm.jar
    wrapper.classpath=/d3/network/jlib/netmgr.jar
    wrapper.classpath=/d3/network/tools
    wrapper.classpath=/d3/jlib/kodiak-1_2_1.jar
    wrapper.classpath=/d3/sysman/jlib/netchart360.jar
    wrapper.classpath=/d3/jlib/pfjbean.jar
    wrapper.env=SHLIB_PATH=/d3/lib32
    wrapper.env=LIBPATH=/d3/lib32
    wrapper.classpath=/d3/ultrasearch/lib/isearch_midtier.jar
    wrapper.classpath=/d3/ultrasearch/lib/isearch_query.jar
    wrapper.classpath=/d3/ultrasearch/lib/jgl3.1.0.jar
    wrapper.classpath=/d3/lib/mail.jar
    wrapper.classpath=/d3/lib/activation.jar
    wrapper.classpath=/d3/ultrasearch/jsp/admin/config
    # Additions for iFS
    ## DO NOT REMOVE OR ALTER THE FOLLOWING LINE ....
    # iFS true
    # Uncomment if you want to use the same Jserv as other
    applications
    wrapper.classpath=/d3/9ifs/custom_classes
    wrapper.classpath=/d3/9ifs/settings
    wrapper.classpath=/d3/9ifs/lib/adk.jar
    wrapper.classpath=/d3/9ifs/lib/email.jar
    wrapper.classpath=/d3/9ifs/lib/http.jar
    wrapper.classpath=/d3/9ifs/lib/release.jar
    wrapper.classpath=/d3/9ifs/lib/repos.jar
    wrapper.classpath=/d3/9ifs/lib/utils.jar
    wrapper.classpath=/d3/9ifs/lib/webui.jar
    wrapper.classpath=/d3/9ifs/lib/provider.jar
    wrapper.classpath=/d3/jlib/javax-ssl-1_2.jar
    wrapper.classpath=/d3/jlib/jssl-1_2.jar
    wrapper.env=ORACLE_HOME=/d3
    wrapper.env=ORACLE_SID=cmpdb
    wrapper.env=LD_LIBRARY_PATH=/d3/lib:/d3/ctx/lib:/d3/lib32
    wrapper.env=NLS_LANG=.US7ASCII
    ## Additions for the iFS zone
    # Uncomment if you want to use the same Jserv as other
    applications
    zones=ifs
    ifs.properties=/d3/Apache/Jserv/etc/ifs.properties
    # End iFS section

    About your home page; Manually set up Firefox with the window(s) and tab(s)
    the way you want them to be. Then;
    '''''Firefox Options > General > Homepage'''''.
    Press the button labeled ''''Use Current'''.'
    =====================================
    Open a new window or tab. In the address bar, type '''''about:config'''''.
    If a warning screen comes up, press the '''''Be Careful''''' button.
    This is where Firefox finds information it needs to run.
    At the top of the screen is a search bar. Enter '''''browser.newtab.url'''''
    and press enter. '''''browser.newtab.url'''''
    tells Firefox what to show when a new tab is opened.
    If you want, right click and select '''''Modify'''''. You can change the
    setting to;<BR><BR>about:home (Firefox default home page),<BR>
    about:newtab (shows the sites most visited),<BR>
    about:blank (a blank page),<BR>
    or you can enter any web page you want.<BR><BR>
    The same instructions are used for the new window setting, listed as
    '''''browser.startup.homepage'''''.

  • Problem with JDBC Comm Channel from UNIX PI Installation.

    Dear Gurus:
    Inside a standard scenario, we have a receiver comm channel which use JDBC adapter type to connect to a MS Access remote database.
    The database connection is made like this:
    JDBC Driver: sun.jdbc.odbc.JdbcOdbcDriver
    Connection: jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=//10.96.0.10/c$/app/appdb.mdb
    Working from a Windows 2003 PI installation, everything works fine..
    But we recently have finished a Heterogeneous migration from Windows 2003 + SQL server to UNIX AIX + Oracle servers and that particular interface does not work anymore.
    Is there a way to connect to a MS Access from inside a UNIX PI installation..? Is there a native JDBC or ODBC driver that we can use to fix our problem...?
    Waiting for your help. Best regards.
    Eduardo.

    Hi,
    In the JDBC receiver CC, Advanced-->Advanced Mode, use poolWaitingTime and taskTimeout parameters and specify
    some time using seconds.
    Babu

  • Problems with JDBC on personal Java

    Hi,
    I am a PhD student in Napier University and work with PDAs and Java. I have installed Jeode 1.9 Runtime Environment which is a certified implementation of 1.2 Personal Java on my HP IPAQ PDA.
    I have the following code that works fine on my desktop, however produces an exception on my PDA (ERROR: java.lang.ClassNotFoundException: sun/jdbc/odbc/JdbcOdbcDriver)
    Thanks for your help!!!
    The code:
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.sql.*;
    public class WhoAmI2
    public static void main (String[] args)
    String LocalIP = new String();
    String LocalHome = new String();
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    /* the next 3 lines are Step 2 method 2 from above - you could use the direct
    access method (Step 2 method 1) istead if you wanted */
    String filename = "c:/CompInfo.mdb";
    String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
    database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end
    // now we can get the connection from the DriverManager
    Connection con = DriverManager.getConnection( database ,"","");
    Statement s = con.createStatement();
    s.execute("create table Details ( OSName String, OSArch String, OSVer String, JavRunNam String, JavVMVer String, UserName String, UserCountry String, UserLang String, JavVMSpec String, JavRunVer String, JavVer String, Graphics String, SunArchDat String, SunCPUEnd String, SunUni String, SunCPUISA String, MainIP String, MainHost String, LocalIP String, LocalHost String )"); // create a table
    try
    // Properties p = new Properties(System.getProperties());
    // System.getProperties().list(System.out);
    InetAddress localaddr = InetAddress.getLocalHost () ;
    System.out.println ("OS Name : \t\t" + System.getProperty("os.name")) ;
    System.out.println ("OS Architecture : \t" + System.getProperty("os.arch")) ;
    System.out.println ("OS Version : \t\t" + System.getProperty("os.version")) ;
    System.out.println () ;
    System.out.println ("Java Runtime Name : \t" + System.getProperty("java.runtime.name")) ;
    System.out.println ("Java VM Version : \t" + System.getProperty("java.vm.version")) ;
    System.out.println () ;
    System.out.println ("Username : \t\t" + System.getProperty("user.name")) ;
    System.out.println ("User Country : \t\t" + System.getProperty("user.country")) ;
    System.out.println ("User Language : \t" + System.getProperty("user.language")) ;
    System.out.println () ;
    System.out.println ("Java VM Spec : \t\t" + System.getProperty("java.vm.specification.name")) ;
    System.out.println ("Java Runtime Version : \t" + System.getProperty("java.runtime.version")) ;
    System.out.println ("Java Version : \t\t" + System.getProperty("java.version")) ;
    System.out.println ("Graphics : \t\t" + System.getProperty("java.awt.graphicsenv")) ;
    System.out.println () ;
    System.out.println ("Sun Arch Datamodel : \t" + System.getProperty("sun.arch.data.model")) ;
    System.out.println ("Sun CPU Endian : \t" + System.getProperty("sun.cpu.endian")) ;
    System.out.println ("Sun Unicode : \t\t" + System.getProperty("sun.io.unicode.encoding")) ;
    System.out.println ("Sun CPU ISA : \t\t" + System.getProperty("sun.cpu.isalist")) ;
    System.out.println () ;
    System.out.println ( "main Local IP Address : " + localaddr.getHostAddress () );
    System.out.println ( "main Local hostname : " + localaddr.getHostName () );
    System.out.println () ;
    InetAddress[] localaddrs = InetAddress.getAllByName ( "localhost" ) ;
    for ( int i=0 ; i<localaddrs.length ; i++ )
    if ( ! localaddrs[ i ].equals( localaddr ) )
    System.out.println ( "alt Local IP Address : " + localaddrs[ i].getHostAddress () );
    System.out.println ( "alt Local hostname : " + localaddrs[ i].getHostName () );
    System.out.println () ;
    LocalIP=localaddrs[ i].getHostAddress ();

    I have the following code that works fine on my
    desktop, however produces an exception on my PDA
    (ERROR: java.lang.ClassNotFoundException:
    sun/jdbc/odbc/JdbcOdbcDriver)It looks as though Jeode doesn't come with the JDBC/ODBC bridge JDBC driver. You'll need to find another JDBC driver to use.

Maybe you are looking for