Re: To few parameters exception in Access database

I used to deal with Access quite a bit in the past.
This error can occur for a few reasons:
1. One of your field names is a reserved word for Access. You can work around this by changing the name of the field OR by putting square brackets around the field name. For list of reserved words see:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;321266
So for example if your field name is BINARY you need to say:
select [BINARY] From Table1
2. This can also happen if you have a typo in a field name. Any token that Access cannot understand it turns into a parameter, check the spelling of the fields.
3. In rare cases this could be that you are hitting a query and not a table and the query has a parameter in it. If you run the query in Access itself and a dialog box pops up asking you to enter a value this is the case.

Hello there
Thank you for your post first of all.
Well, the first and the last are not the case. I wrote in the initial post that the query runs just fine in Access, and I have no reserved words that I use in my query.
For the second reasons, I understand that if one of my fields from within the query does not corespond to a column in the access database, Access will turn it into a parameter. Well since the query runs just fine in Access, and I have problem when I run it from a Java program, then I think this reason does not apply also.
Any further suggestions will be apreciated.
Regards,
Mihai

Similar Messages

  • Result set two few parameters exception!!?

    when i use the following code:
           res = stat1.executeQuery("SELECT * FROM Word where word="+current );
    where res is a result set
    stat1 is a statement
    current is a string
    the following exception appears after running:
    java.sql.sqlexception[microsoft][ODBC microsoft access Driver] Two few parameters.Expected 1.
    Any one can help me with this problem plz?

    is the (?) from the syntax?in:
    PreparedStatement ps =
    connection.prepareStatement("SELECT * FROM Word WHERE
    word=?");
    ps.setString(1, someWord);
    rs = ps.executeQuery(); [url http://java.sun.com/developer/onlineTraining/Database/JDBC20Intro/JDBC20.html#JDBC207]http://java.sun.com/developer/onlineTraining/Database/JDBC20Intro/JDBC20.html#JDBC207

  • Class not found Exception when accessing database through java using ASP

    I am trying to access the database through ASP via java:
    the database is setup as a system database..
    the java class works fine if i try to run it as a stand alone.. but as soon as I run it through ASP.. it does not get passed the driver line.. is there anything in particular I need to do ?
    JAVA and ASP and the output code looks like as follows:
    java code looks like this:
    import java.sql.*;
    public class testDB{
    private Connection connection;
    private Statement statement;
    public static void main(String[] args){
    public String getDriver(){
    String x = "start of program ";     
    try{
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              x = x + " Got Driver";
              connection = java.sql.DriverManager.getConnection("jdbc:odbc:database", "sunny", "jassal");
              x = x + " After connection statement";
              statement = connection.createStatement();
              x = x + " After statement statement";
              statement.execute("Insert into name (name, age) values ('hello', 33)");
              x = x + " after insert";
              connection.close();
         } catch (Exception sqlex){x = x + sqlex.getMessage() + " " ;
              x = x + sqlex.toString() + " " ;
              x = x + sqlex.getLocalizedMessage();}
    return x;
    and the asp looks like this:
    <html>
    <%
         set javaobject = GetObject("java:testDB")
         response.write "after getting object"
         response.write javaobject.getDriver()
         set javaobject = nothing
    %>
    </html>
    after getting objectstart of program sun/jdbc/odbc/JdbcOdbcDriver java.lang.ClassNotFoundException: sun/jdbc/odbc/JdbcOdbcDriver sun/jdbc/odbc/JdbcOdbcDriver

    what would I set the classpath to be .. and I am sorry I am new to this.. but how would I be able to check the CLASSPATH .. or even how do I set the CLASSPATH.. to which directory would i need to set the classpath to
    I know I can set the classpath in dos by set CLASSPATH=
    but I dont know how to set it so it would read the drivers

  • Exception connecting to MS Access Database.

    I'm having problems using the jdbc-odbc bridge with an MS Access database and a file DSN. If I use a system DSN, it works fine but it does not seem to find the file DSN for some reason (And I HAVE to use a file DSN in this instance, for reasons I won't bore you with) - this is the error-message:
    "java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
    This is my example code:
    import java.sql.*;
    public class SamplePgm {
    private static Connection con;
    private static Statement stmt;
    private static ResultSet result;
    public static void main(String[] args) {
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:Testing", "", "");
    stmt = conn.createStatement();
    result = stmt.executeQuery("select TOP 3 emp_no from employee");
    while (result.next()) {
    System.out.println(result.getString("emp_no"));
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    try {
    result.close();
    stmt.close();
    con.close();
    } catch (SQLException e) {
    e.printStackTrace();
    The file DSN was set up using the Win2K ODBC administrator.
    Is there any other way to tell ODBC that it's using a file DSN ?
    I'd be very grateful for any/all assistance.
    Thanks.

    My guess would be that a file DSN is stored in a file, a system DSN is stored under the HKeyLocalMachine registry key and a user DSN is stored under the HKeyCurrentUser registry key, but it's only a guess.

  • Pls help for Exception "Too Few Parameters : Expected 35"

    Hi,
    I am expericing with the exception
    "Too Few Parameters : Expected 35".
    What's wrong with it? The following is my code.
    try {                                                                                                                                                                                                                
    String DRIVER = ("sun.jdbc.odbc.JdbcOdbcDriver");               
    String URL = "jdbc:odbc:Industrial_One_DSN";
    String sql = "UPDATE BusinessRegistration " +
    "SET [Date] = ?, ISIC = ?, BizName = ?, BizAddress = ?, " +
    "OwnerName = ?, OwnerNRC = ?, Investment = ?, EstablishedYear = ?, " +
    "L_Male = ?, L_Female = ?, F_Male = ?, F_Female = ?, " +
    "OwnershipType = ?, Remarks = ?, IndustialZoneName = ?, Unit = ?, " +
    "Fuel = ?, FactoryType = ?, FactoryName = ?, Township = ? " +
    "MainProductName = ?, MainProductCountType = ?, " +
    "MainProductQuantity = ?, MainProductValue = ?, RMName = ?, " +
    "RMCountType = ?, RMQuantity = ?, RMValue = ?, EnergyName = ?, " +
    "MachinePower = ?, AmountGallon = ?, StateDiv = ?, BizSize = ?  " +
    "WHERE RegistrationID = ?";
    Class.forName(DRIVER);
    Connection con = DriverManager.getConnection(URL);
    PreparedStatement pstmt = con.prepareStatement(sql);
    int ilmale = Integer.parseInt(lmale);
    int ilfemale = Integer.parseInt(lfemale);
    int ifmale = Integer.parseInt(fmale);
    int iffemale = Integer.parseInt(ffemale);
    int impq = Integer.parseInt(mpq);
    int impv = Integer.parseInt(mpv);
    int irmq = Integer.parseInt(rmq);
    int irmv = Integer.parseInt(rmv);
    int iamountgallon = Integer.parseInt(amountgallon);
    pstmt.setString(1, date);
    pstmt.setString(2, isic);
    pstmt.setString(3, bizname);
    pstmt.setString(4, bizaddress);
    pstmt.setString(5, ownername);
    pstmt.setString(6, ownernrc);
    pstmt.setString(7, investment);
    pstmt.setString(8, eyear);
    pstmt.setInt(9, ilmale);
    pstmt.setInt(10, ilfemale);
    pstmt.setInt(11, ifmale);
    pstmt.setInt(12, iffemale);
    pstmt.setString(13, ownershiptype);
    pstmt.setString(14, remark);
    pstmt.setString(15, izn);
    pstmt.setString(16, unit);
    pstmt.setString(17, fuel);
    pstmt.setString(18, ft);
    pstmt.setString(19, fname);
    pstmt.setString(20, township);
    pstmt.setString(21, mpn);
    pstmt.setString(22, mpct);
    pstmt.setInt(23, impq);               
    pstmt.setInt(24, impv);
    pstmt.setString(25, rmname);
    pstmt.setString(26, rmct);
    pstmt.setInt(27, irmq);
    pstmt.setInt(28, irmv);
    pstmt.setString(29, ename);
    pstmt.setString(30, mpower);
    pstmt.setInt(31, iamountgallon);
    pstmt.setString(32, statediv);
    pstmt.setString(33, bizsize);
    pstmt.setInt(34, Integer.parseInt(rid));
    pstmt.executeUpdate();
    }I have got 35 fields in my db. But I wanna edit 34 fields only. I have no primary key in my table. Is't alright?
    pls help me.
    With thanks,
    WTDAHL

    I presume you are using SQL server, hence the [Date] in your SQL?
    I counted 34 question marks in your SQL statement, And 34 parameters supplied.
    Looks ok to me.
    You say you have no primary key? What is RegistrationId then?
    My suggestion for debugging: start smaller.
    Try updating it with only 5 fields, then 10 then 15 and build it up like that.
    Trying to debug 35 fields is a nightmare - you have to break it down to solve it.
    Good luck,
    evnafets

  • Failed to Generate Wrapper Class exception while connecting to access database.

    i tried to connect to access database in windows. i made a user dsn in windows
    control panel and added this to the connection pool. after which i created a JDBC
    datasource using this connection pool.(specifying the driver as sun.jdbc.odbc.JdbcOdbcDriver
    and url=jdbc:odbc:xyz
    where xyz is the user dsn name pointing to the relevant access database file.
    on testing this in the weblogic admin console it showed successful operation.
    when i tried to use this connection pool in weblogic 8.1 workshop and tried
    building a rowset control to check the connectivity it gave the following exception.
    file attached.
    any hints on how to get it working/ how to use access database with wl 8.1
    workshop.
    Exception in context_onAcquire
    java.sql.SQLException: Failed to Generate Wrapper Class.
    Nested Exception: java.lang.RuntimeException: Failed to Generate Wrapper Class
    at weblogic.utils.wrapper.WrapperFactory.createWrapper(WrapperFactory.java:141)
    [DB-error.txt]

    ashok wrote:
    i tried to connect to access database in windows. i made a user dsn in windows
    control panel and added this to the connection pool. after which i created a JDBC
    datasource using this connection pool.(specifying the driver as sun.jdbc.odbc.JdbcOdbcDriver
    and url=jdbc:odbc:xyz
    where xyz is the user dsn name pointing to the relevant access database file.
    on testing this in the weblogic admin console it showed successful operation.
    when i tried to use this connection pool in weblogic 8.1 workshop and tried
    building a rowset control to check the connectivity it gave the following exception.
    file attached.
    any hints on how to get it working/ how to use access database with wl 8.1
    workshop.
    Exception in context_onAcquire
    java.sql.SQLException: Failed to Generate Wrapper Class.
    Nested Exception: java.lang.RuntimeException: Failed to Generate Wrapper Class
    at weblogic.utils.wrapper.WrapperFactory.createWrapper(WrapperFactory.java:141)
    Hi Askok. This exception usually means that the weblogic server's environment
    doesn't have all it needs to make the jdbc connection you want. You should
    ensure that the OS environment variable PATH has all the libraries you need
    for making a jdbc-odbc connection, and that it's classpath also contains the
    driver you want.
    What DBMS are you connecting to? The reason I ask is because if there is a
    pure JDBC driver for it, that will be preferable, because the jdbc-odbc bridge
    from Sun is not threadsafe, so it can corrupt Weblogic.
    Joe
    >
    Exception in context_onAcquire
    java.sql.SQLException: Failed to Generate Wrapper Class.
    Nested Exception: java.lang.RuntimeException: Failed to Generate Wrapper Class
    at weblogic.utils.wrapper.WrapperFactory.createWrapper(WrapperFactory.java:141)
    at weblogic.jdbc.wrapper.JDBCWrapperFactory.getWrapper(JDBCWrapperFactory.java:73)
    at weblogic.jdbc.jts.Driver.newConnection(Driver.java:674)
    at weblogic.jdbc.jts.Driver.createLocalConnection(Driver.java:196)
    at weblogic.jdbc.jts.Driver.connect(Driver.java:154)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:298)
    at com.bea.wlw.runtime.core.control.DatabaseControlImpl.getConnection(DatabaseControlImpl.jcs:1360)
    at com.bea.wlw.runtime.core.control.DatabaseControlImpl.context_onAcquire(DatabaseControlImpl.jcs:1252)
    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:324)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:353)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:420)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:393)
    at com.bea.wlw.runtime.core.container.Invocable.fireEvent(Invocable.java:603)
    at com.bea.wlw.runtime.core.context.WlwThreadContext.sendEvent(WlwThreadContext.java:989)
    at com.bea.wlw.runtime.core.context.WlwThreadContext.raiseEvent(WlwThreadContext.java:919)
    at com.bea.wlw.runtime.core.container.Container.raiseContextEvent(Container.java:553)
    at com.bea.wlw.runtime.jcs.container.JcsContainer.onAcquire(JcsContainer.java:513)
    at sun.reflect.GeneratedMethodAccessor325.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:353)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:420)
    at com.bea.wlw.runtime.core.container.Invocable.sendContextEvent(Invocable.java:524)
    at com.bea.wlw.runtime.jcs.container.JcsContainer.sendContextEvent(JcsContainer.java:464)
    at com.bea.wlw.runtime.core.context.WlwThreadContext.acquireResources(WlwThreadContext.java:676)
    at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:307)
    at processes.Audit.insertAuditData(Audit.ctrl)
    at processes.ExceptionHandler.auditInsertAuditData(ExceptionHandler.jpd:78)

  • Retrieve data from MS Access database.

    Hi all,
    The following is part of my coding. Once I have clicked the jButton1, the jTextField1 will get the input of user and store into a variable named "bbb". After that the variable will be passed to a function as a parameter to retrieve data from MS Access database using the ResultSet method. Next, the ResultSet will be splited into many part and just the student ic will be displayed.
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
    // TODO add your handling code here:
            String bbb = jTextField1.getText(); //get input from user and store into a variable named bbb
            ResultSet codes = getCodes(bbb); //Retrieve data from database
            Code c = getCode (codes); //split the retireved date to many part
             jLabel2.setText(c.ic);  //display the student ic only
       private static ResultSet getCodes(String bbb)
            Connection con = getConnection();
            try
            Statement s = con.createStatement();
            String select = "SELECT [Student-File].* " + "FROM [Student-File] WHERE (([Student-File].[student-code])=bbb); " ;
            ResultSet rows;
            rows = s.executeQuery(select);
            return rows;
            catch (SQLException e)
                System.out.println(e.getMessage());
            return null;
    private static Code getCode (ResultSet codes)
            try
                String name = codes.getString("student-name");
                String scode = codes.getString("student-code");
                String ic = codes.getString ("student-ic");
                String add = codes.getString ("student-address");
                String phone = codes.getString ("student-phone");
              return new Code (name,scode,ic,add,phone);
            catch (SQLException e)
                System.out.println(e.getMessage());
            return null;
        private static class Code
            public String name ;
            public String scode ;
            public String ic ;
            public String add;
            public String phone;
            public Code (String name, String scode, String ic,String add,String phone)
                this.name = name;
                this.scode = scode;
                this.ic = ic;
                this.add = add;
                this.phone = phone;
    }But after I have compiled the coding above, the following error existed.
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    at testing3.getCode(testing3.java:137)
    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    at testing3.jButton1ActionPerformed(testing3.java:71)
    at testing3.access$000(testing3.java:17)
    at testing3$1.actionPerformed(testing3.java:45)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at testing3.getCode(testing3.java:137)
    at testing3.jButton1ActionPerformed(testing3.java:71)
    at testing3.access$000(testing3.java:17)
    at testing3$1.actionPerformed(testing3.java:45)
    My questions here are:
    1) Will my idea above work?
    2) Is it correct of my query statement that send to MS Access database?
    Can anyone help me?
    Thanks in advance,
    ning.

    you may try this:
    String select = "SELECT * FROM your_table_name WHERE your_column_name = '" + bbb + "'";or another approach using PreparedStatement:
    String select = "SELECT * FROM your_table_name WHERE your_column_name = ?";
    PreparedStatement ps = con.prepareStatement(select);
    ps.setString(1, "bbb");
    ResultSet rs = ps.executeQuery();hth.

  • Too few parameters

    Hi friends,
    please solve this below problem. Exception is "-------Too few parameters"..
    import java.io.*;
    import Java.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import javax.sql.*;
    public class EmpData extends HttpServlet {
    public void service (HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    try {
    PrintWriter out;
    out=response.getWriter();
    response.setContentType("text/plain");
    String a =request.getParameter("id");
    String b =request.getParameter("ename");
    String c =request.getParameter("esal");
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:malloc");
    Statement stmt = con.createStatement();
    out.println(a);
    out.println(b);
    out.println(c);
    stmt.executeUpdate("insert into emp values (" + " ' " + a + " ' " + " , " + " ' " + b + " ' " + ", " + " ' " + c +" ' "+ ")" );
    }catch(Exception e) {
    System.out.println(e);
    }

    What's the actual value of that string? Don't just post a dog's breakfast of quotes that you put in your code to compute the string, post the string.
    And if you had posted this in the JDBC forum (being the question about your database queries that it is) you would have been told to use a PreparedStatement to avoid that awful mess of quotes. That would be a good idea in any case.
    When you look at the string you're probably going to find you are missing quotes around something that is supposed to be a string constant, and Access would try to interpret that as a table name or a column name. If there is no such table or column you get this sort of message.

  • Getting the table names in an MS Access database

    Hi,
    I am new to JDBC and making a client/server application that updates a MS Access database through jdbc:odbc.
    I need to get a list of existing user tables in the db. I have found a great document on the net which has the code, however the code doesn't work. I have tried different ways and looked every where with no success. (link to the doco: http://www-128.ibm.com/developerworks/opensource/library/j-jdbc-objects/)
    Here is my dbManager class that handles all db related services in my application. I would appreciate any help I can get as I have exhusted all my avenues.
    Thanks
    Sep,
    * dbManager.java
    * Created on 31 October 2005, 10:20
    * To change this template, choose Tools | Options and locate the template under
    * the Source Creation and Management node. Right-click the template and choose
    * Open. You can then make changes to the template in the Source Editor.
    import java.io.*;
    import java.sql.*;
    import java.util.regex.*;
    * @author AUMahdavSe
    public class dbManager {
        /** Constant Declaration                */
        public static final String Driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        public static final
            String sqlCreateTable = "create table TABLENAME (" +
                "name varchar (100)," +
                "surname varchar(100)," +
                "computerType integer," +
                "computerNAL varchar(20)," +
                "haveMonitor integer," +
                "monitorNAL varchar (20)," +
                "auditDate varchar(10) );";
        public static final String sqlUpdateTable = "insert into TABLENAME values" +
                " (NAMEHOLDER, SURNAMEHOLDER, COMPTYPE, COMPNAL, HAVEMON, MONNAL);";
        /** Attributes                          */
        private String dbURL = "jdbc:odbc:";
        private String Username = "admin";  // user input
        private String Password = "purina123";  // user input
        private String ODBCDataSource;  // config file
        private String dbPath;  // set through config file or defaults to current folder
        private String configFile = "config.txt"; // set either at commandline or defaults to current folder
        private Connection con = null;
        private Statement stmt = null;
        private ResultSet tables;
        private DatabaseMetaData dma;
        private ResultSetMetaData rsmd;
        private String CurrentAuditTable = "TestTable2";
        int numCols, i;
        /** Set Methodes                        */
        public void setUsername( String usr ) {
            this.Username = usr;
        public void setPassword( String pswd ) {
            this.Password = pswd;
        public void setDbPath( String path ) {
            this.dbPath = path;
        public void setODBCDataSource( String ds ) {
            this.ODBCDataSource = ds;
        public void setDbURL( String dsname ) {
            this.dbURL = this.dbURL + dsname;
        /** Get Methodes                        */
        public String getDriver() {
            return this.Driver;
        // can be run only after a connection obj is setup
        public void getMDA() {
            try {
                this.dma = this.con.getMetaData();           
            catch (SQLException ex) {
                System.err.println("database connection: " + ex.getMessage());
        public void getDBTables() {
            //now dump out the names of the tables in the database
            String[] types = new String[1];
            types[0] = "TABLES"; //set table type mask
            //note the %-sign is a wild card (not '*')
            try {
                this.tables = this.dma.getTables(null, null, "%", types);
                dumpResults("--Tables--");
                this.tables.close();
                //this.listTables();
            catch (SQLException ex) {
                System.err.println("database connection: " + ex.getMessage());
            // listing tables
            /*int count = 0;
            int numCols = 0;
            //ResultSetMetaData rsmd;
            try {
                System.out.println("Listing db tables ...");
                //this.tables.beforeFirst();
                rsmd = this.tables.getMetaData();
                numCols = rsmd.getColumnCount();
                System.out.println("number of cols: " + numCols);
                boolean more = this.tables.first();
                System.out.println("this is why: " + more);
                while ( more ) {
                    count++;
                    for (int i = 1; i <= numCols; i++)
                        System.out.print( "Table-" + count + " -> " + this.tables.getString(count)+"    " );
                    System.out.println();
                    more = this.tables.next();
            catch ( SQLException ex ) {
                System.out.println( "problem listing db tables: " + ex.getMessage() );
        /** Other Methodes                      */
        // Initialize the db parameters, like driver, username, passwd, etc.
        public void dbInitialize() {
            // load configuration from config.txt (dbPath and ODBC Data Source name)
            this.loadDbConfig();
            // loadDriver
            this.loadDriver();
            // get username and password for the ODBC from user
            this.getDSSecurity();
            // populate dbURL, username and password
            this.setDbURL( this.ODBCDataSource );
            // connect to db
            this.dbConnect();
            // get db metadata
            this.getMDA();
            // get a list of tables in db
            this.getDBTables();
        // load JDBC driver
        public void loadDriver() {
            try {
                Class.forName( getDriver() );
            } catch (Exception e) {
                System.out.println("Failed to load JDBC/ODBC driver.");
                return;
        // connects to db and create a Connection obj and a Statement obj
        public void dbConnect() {
           try {
                this.con = DriverManager.getConnection (
                    this.dbURL,
                    this.Username,
                    this.Password);
                this.stmt = con.createStatement();
            } catch (Exception e) {
                System.err.println("problems connecting to "+this.dbURL);
        // creates table tblname in db
        public void CreateTable( String tblname ) {
            try {
                String sqlcommand = mergeTblName(sqlCreateTable, tblname);
                this.stmt.execute( sqlcommand );
            catch (SQLException ex) {
                System.err.println("problems with SQL statement sent to "+this.dbURL+
                    ": "+ex.getMessage());
                System.out.println("SQL Command: " + mergeTblName(sqlCreateTable, tblname) );
        // updates db with new record(s) by executing the SQL query sqlstmt
        // and closes db connection
        public void dbUpdate( String sqlstmt ) {
            try {
                // execute SQL commands to create table, insert data
                this.stmt.execute( sqlstmt );
                this.con.close();
            } catch (Exception e) {
                System.err.println("problems with SQL sent to "+this.dbURL+
                    ": "+e.getMessage());
        // list all user tables in the db
        public void listTables() {
            //now dump out the names of the tables in the database
            int count = 0;       
            try {
                System.out.println("Listing db tables ...");
                //this.tables.beforeFirst();
                while ( this.tables.next() ) {
                    count++;
                    System.out.print( "Table-" + count + " -> " + this.tables.getString(1) );
                    System.out.println();
            catch ( SQLException ex ) {
                System.out.println( "problem listing db tables: " + ex.getMessage() );
        // checks whether tbname exist in db as a table
        // this function has to be called after dbConnect
        public boolean tableExists( String tbname ) {
            boolean tbexists = false;
            //get the database metadata
            try {
                dma = con.getMetaData();           
            catch (SQLException ex) {
                System.err.println("database connection: " + ex.getMessage());
            //now dump out the names of the tables in the database
            String[] types = new String[1];
            types[0] = "TABLES"; //set table type mask
            //note the %-sign is a wild card (not '*')
            try {
                tables = dma.getTables(null, null, "%", types);
            catch (SQLException ex) {
                System.err.println("database connection: " + ex.getMessage());
            try {
                while ( tables.next() ) {
                    if ( tbname.equalsIgnoreCase( tables.getString(1) ) ) {
                        tbexists = true;
            catch ( SQLException ex ) {
                System.err.println("database connection: " + ex.getMessage());
            return tbexists;
        // merge tablename using REGEX
        public String mergeTblName( String sqlcommand, String tbname ) {
            String REGEX = "TABLENAME";
            String INPUT = sqlcommand;
            String REPLACE = tbname;
            Pattern p = Pattern.compile(REGEX);
            Matcher m = p.matcher(INPUT); // get a matcher object
            INPUT = m.replaceAll(REPLACE);
            //System.out.println(INPUT);
            return INPUT;
        // merge feildnames specific terms using REGEX
        public String mergeFldName( Message msg ) {
            String sqlcommand;
            sqlcommand = "insert into TABLENAME values" +
                    " ('" + msg.getName() + "', '" + msg.getSurname() + "', " +
                    msg.getComputerType() + ", '" + msg.getComputerNAL() + "', " +
                    msg.getHaveMonitor() + ", '" + msg.getMonitorNAL() + "', '" +
                    msg.getDateOfMsg() + "');";
            sqlcommand = mergeTblName( sqlcommand, CurrentAuditTable );
            return sqlcommand;
        // get users input char
        /**public char getChar() {
            int i = System.in.read();
            while (i != -1) {
              // here's your character
              char c = (char) i;
              i = System.in.read();
            return (char) i;
        // load the config parameters from config.txt
        public void loadDbConfig() {
            // make a file obj pointing to the config file config.txt
            File configFile = new File( this.configFile );
            //...checks on configFile are elided
            StringBuffer contents = new StringBuffer();
            //declared here only to make visible to finally clause
            BufferedReader input = null;
            try {
              //use buffering
              //this implementation reads one line at a time
              input = new BufferedReader( new FileReader(configFile) );
              String line = null; //not declared within while loop
              int count = 0;
              while (( line = input.readLine()) != null){
                //first line in config file is dbPath
                if(count == 0) this.setDbPath( line.trim() );
                //second line in config file is ODBCDataSource
                if(count == 1) this.setODBCDataSource( line.trim() );
                count++; 
                //contents.append(line);
                //contents.append(System.getProperty("line.separator"));
            catch (FileNotFoundException ex) {
                System.err.println("the file congif.txt cannot be found ...");
                System.err.print("Enter the path to db file (e.g. c:\\temp): ");
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                //  read the db path from the command-line; need to use try/catch with the
                //  readLine() method
                try {
                    this.setDbPath( br.readLine() );
                catch (IOException ioe) {
                    System.out.println("IO error trying to read user input.");
                    System.exit(1);
                System.err.print("Enter the name of the ODBC Data Source: ");
                //  read the ODBC Data Source name from the command-line; need to use try/catch with the
                //  readLine() method
                try {
                    this.setODBCDataSource( br.readLine() );
                catch (IOException ioe) {
                    System.out.println("IO error trying to read user input.");
                    System.exit(1);
                ex.printStackTrace();
            catch (IOException ex){
              //ex.printStackTrace();
            finally {
              try {
                if (input!= null) {
                  //flush and close both "input" and its underlying FileReader
                  input.close();
              catch (IOException ex) {
                //ex.printStackTrace();
            //return contents.toString();
        // get datasource security details i.e. username and password
        public void getDSSecurity() {
            // get username
            System.out.print("Enter username for the ODBC DataSource: ");
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            //  read the username from the command-line; need to use try/catch with the
            //  readLine() method
            try {
                this.setUsername( br.readLine() );
            catch (IOException ioe) {
                System.out.println("IO error trying to read username.");
                System.exit(1);
            // get password
            System.out.print("Enter password: ");
            //  read the username from the command-line; need to use try/catch with the
            //  readLine() method
            try {
                this.setPassword( br.readLine() );
            catch (IOException ioe) {
                System.out.println("IO error trying to read password.");
                System.exit(1);
        private void dumpResults(String head)
         //this is a general routine to print out
         //column headers and the contents of each column
         System.out.println(head);
          try
           //get the number of columns from the metadata
           this.rsmd = this.tables.getMetaData();      
           numCols = this.rsmd.getColumnCount();
           //print out the column names
           for (i = 1; i<= numCols; i++)
             System.out.print(rsmd.getColumnName(i)+"     ");
           System.out.println();
           //print out the column contents
           boolean more = this.tables.next();
           while (more)
             for (i = 1; i <= numCols; i++)
               System.out.print(this.tables.getString(i)+"     ");
             System.out.println();
             more = this.tables.next();
         catch(Exception e)
           {System.out.println(e.getMessage());}
        /** Creates a new instance of dbManager */
        public dbManager() {
            this.dbInitialize();
    }here is the result when I make a new dbManager obj from my server class which is a multithreaded one.
    H:\java>java EchoServer
    Enter username for the ODBC DataSource: admin
    Enter password: purina123
    Tables
    TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
    Listening for clients on 12111...
    here is the code of my server class called EchoServer:
    import java.net.*;
    import java.io.*;
    public class EchoServer
        ServerSocket m_ServerSocket;
        dbManager haDB;
        public EchoServer() 
            // db methods to setup a jdbc connection to the database
            haDB = new dbManager();
            // list tables
            //haDB.listTables();       
            //haDB.getDBTables();
            // create table
            //haDB.CreateTable("TestTable2");
            // update table
            // server code
            try
                // Create the server socket.
                m_ServerSocket = new ServerSocket(12111);
            catch(IOException ioe)
                System.out.println("Could not create server socket at 12111. Quitting.");
                System.exit(-1);
            System.out.println("Listening for clients on 12111...");
            // Successfully created Server Socket. Now wait for connections.
            int id = 0;
            while(true)
                try
                    // Accept incoming connections.
                    Socket clientSocket = m_ServerSocket.accept();
                    // accept() will block until a client connects to the server.
                    // If execution reaches this point, then it means that a client
                    // socket has been accepted.
                    // For each client, we will start a service thread to
                    // service the client requests. This is to demonstrate a
                    // multithreaded server, although not required for such a
                    // trivial application. Starting a thread also lets our
                    // EchoServer accept multiple connections simultaneously.
                    // Start a service thread
                    ClientServiceThread cliThread = new ClientServiceThread(clientSocket, id++, haDB);
                    cliThread.start();
                catch(IOException ioe)
                    System.out.println("Exception encountered on accept. Ignoring. Stack Trace :");
                    ioe.printStackTrace();
        public static void main (String[] args)
            new EchoServer();    
        class ClientServiceThread extends Thread
            Socket m_clientSocket;        
            int m_clientID = -1;
            dbManager m_db;
            boolean m_bRunThread = true;
            ClientServiceThread(Socket s, int clientID, dbManager db)
                m_clientSocket = s;
                m_clientID = clientID;
                m_db = db;
            public void run()
                // Obtain the input stream and the output stream for the socket
                // A good practice is to encapsulate them with a BufferedReader
                // and a PrintWriter as shown below.
                BufferedReader in = null; 
                PrintWriter out = null;
                Message msg = new Message();
                // Print out details of this connection
                System.out.println("Accepted Client : ID - " + m_clientID + " : Address - " + 
                                 m_clientSocket.getInetAddress().getHostName());
                try
                    in = new BufferedReader(new InputStreamReader(m_clientSocket.getInputStream()));
                    out = new PrintWriter(new OutputStreamWriter(m_clientSocket.getOutputStream()));
                    // At this point, we can read for input and reply with appropriate output.
                    // Run in a loop until m_bRunThread is set to false
                    while(m_bRunThread)
                        // read incoming stream
                        String clientCommand = in.readLine();
                        if ( clientCommand.indexOf(",") != -1 ) {
                            msg.deserialize( clientCommand );
                            System.out.println("SQL command: " + m_db.mergeFldName(msg) );
                            m_db.dbUpdate( m_db.mergeFldName(msg) );
                            //System.out.println("Name :" + msg.getName() );
                            //System.out.println("Surname :" + msg.getSurname() );
                            //System.out.println("ComputerType :" + msg.getComputerType() );
                            //System.out.println("ComputerNAL :" + msg.getComputerNAL() );
                            //System.out.println("HaveMonitor :" + msg.getHaveMonitor() );
                            //System.out.println("Monitor NAL :" + msg.getMonitorNAL() );
                            //System.out.println("AuditDate :" + msg.getDateOfMsg() );                       
                        System.out.println("Client Says :" + clientCommand);
                        if(clientCommand.equalsIgnoreCase("quit"))
                            // Special command. Quit this thread
                            m_bRunThread = false;   
                            System.out.print("Stopping client thread for client : " + m_clientID);
                        else
                            // Echo it back to the client.
                            out.println(clientCommand);
                            out.flush();
                catch(Exception e)
                    e.printStackTrace();
                finally
                    // Clean up
                    try
                        in.close();
                        out.close();
                        m_clientSocket.close();
                        System.out.println("...Stopped");
                    catch(IOException ioe)
                        ioe.printStackTrace();
    }

    I find that taking any problem and reducing it to the simplest thing is the best way to approach it.
    Why you had to post all that bloody code (especially since you didn't write it) is beyond me.
    This will list all the tables in an Access database (or any other, for that matter):
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    import org.jdom.Element;
    import org.jdom.Document;
    import org.jdom.output.XMLOutputter;
    public class TableLister
        public static final String DRIVER   = "sun.jdbc.odbc.JdbcOdbcDriver";
        public static final String DATABASE = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\Edu\\Java\\Forum\\DataConnection.mdb";
        public static final String USERNAME = "admin";
        public static final String PASSWORD = "";
        public static void main(String [] args)
            try
                String driver           = ((args.length > 0) ? args[0] : DRIVER);
                String url              = ((args.length > 1) ? args[1] : DATABASE);
                String username         = ((args.length > 2) ? args[2] : USERNAME);
                String password         = ((args.length > 3) ? args[3] : PASSWORD);
                Class.forName(driver);
                Connection conn         = DriverManager.getConnection(url, username, password);
                DatabaseMetaData meta   = conn.getMetaData();
                // Bring back ALL tables and views, including SYSTEM tables.
                ResultSet tables        = meta.getTables(null, null, null, null);
                ResultSetMetaData rsmd  = tables.getMetaData();
                int numColumns          = rsmd.getColumnCount();
                List columnNames        = new ArrayList();
                for (int j = 0; j < numColumns; ++j)
                    columnNames.add(rsmd.getColumnName(j+1));
                Element root = new Element("tables");
                int tableCount = 0;
                while (tables.next())
                    Element table = new Element("table");
                    table.setAttribute("id", Integer.toString(++tableCount));
                    for (int j = 0; j < numColumns; ++j)
                        Element column = new Element((String)columnNames.get(j));
                        column.setText(tables.getString((String)columnNames.get(j)));
                        table.addContent(column);
                    root.addContent(table);
                conn.close();
                Document doc = new Document(root);
                XMLOutputter outputter = new XMLOutputter("   ", true);
                System.out.println(outputter.outputString(doc));
            catch (ClassNotFoundException e)
                System.err.println("Couldn't load JDBC driver class");
                e.printStackTrace();
            catch (SQLException e)
                System.err.println("SQL state: " + e.getSQLState());
                System.err.println("SQL error: " + e.getErrorCode());
                e.printStackTrace();
            catch (Exception e)
                e.printStackTrace();
    }Run it and see if it works for you. If it does, put the essence of the code into your stuff.
    %

  • CR4E plug-in   ERROR CONNECTIVITY  MS ACCESS DATABASE :data connection that isn't fully supported by this version of the Crystal Reports designer

    Post Author: arfetgas
    CA Forum: Data Connectivity and SQL
    Hi im trying to view a simple report , this report have some parameters from a MS Access database.I  configure  everything, The ODBCJDBC bridge, the dns System on Windows, etc... and the problem its  like this,  I connect the database, but the schema its empty  , i cant map, the dinamic parameters of my report, with my access database.I have this errors  : at same time 1. This report uses a data connection that isn't fully supported by this version of the Crystal Reports designer.  You can modify the report in the designer, but the following actions that access this connection will fail: Browse data, verify database, and report preview.  We recommend you set the datasource location to a JDBC or Java Result Set data source.  2. Java.lang.RuntimeException: WARNING: Blocked recursive attempt to close part com.businessobjects.crystalreports.integration.eclipse.jspeditor.CRJSPEditor while still in the middle of activating it    at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1247)    at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1367)    at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:61)    at org.eclipse.ui.internal.PartStack.close(PartStack.java:543)    at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:206)    at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:122)    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:81)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)    at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)    at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$1.closeButtonPressed(DefaultTabFolder.java:67)    at org.eclipse.ui.internal.presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:596)    at org.eclipse.ui.internal.presentations.PaneFolder$3.close(PaneFolder.java:189)    at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2159)    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:320)    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)    at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)    at org.eclipse.jface.window.Window.open(Window.java:796)    at org.eclipse.ui.texteditor.AbstractTextEditor.handleEditorInputChanged(AbstractTextEditor.java:4403)    at org.eclipse.ui.texteditor.StatusTextEditor.handleEditorInputChanged(StatusTextEditor.java:220)    at org.eclipse.ui.texteditor.AbstractTextEditor.sanityCheckState(AbstractTextEditor.java:4555)    at org.eclipse.ui.texteditor.StatusTextEditor.sanityCheckState(StatusTextEditor.java:210)    at org.eclipse.ui.texteditor.AbstractTextEditor.safelySanityCheckState(AbstractTextEditor.java:4533)    at org.eclipse.wst.sse.ui.StructuredTextEditor.safelySanityCheckState(StructuredTextEditor.java:2945)    at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.handleActivation(AbstractTextEditor.java:921)    at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.partActivated(AbstractTextEditor.java:879)    at org.eclipse.ui.internal.PartListenerList$1.run(PartListenerList.java:72)    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)    at org.eclipse.core.runtime.Platform.run(Platform.java:857)    at org.eclipse.ui.internal.PartListenerList.fireEvent(PartListenerList.java:57)    at org.eclipse.ui.internal.PartListenerList.firePartActivated(PartListenerList.java:70)    at org.eclipse.ui.internal.PartService.firePartActivated(PartService.java:73)    at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:171)    at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:124)    at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:115)    at org.eclipse.ui.internal.WWinPartService$1.partDeactivated(WWinPartService.java:48)    at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:113)    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)    at org.eclipse.core.runtime.Platform.run(Platform.java:857)    at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)    at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:111)    at org.eclipse.ui.internal.PartService.firePartDeactivated(PartService.java:116)    at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:165)    at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:56)    at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:126)    at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3402)    at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:2946)    at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:265)    at org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:98)    at org.eclipse.ui.internal.presentations.PresentablePart.setFocus(PresentablePart.java:191)    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:92)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:272)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.handleMouseDown(AbstractTabFolder.java:342)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder$3.mouseDown(AbstractTabFolder.java:79)    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:178)    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)    at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)    at java.lang.reflect.Method.invoke(Unknown Source)    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)    at org.eclipse.equinox.launcher.Main.run(Main.java:1173)!ENTRY com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Error loading file prueba.rpt!STACK 0java.lang.Exception: Error loading file prueba.rpt    at com.businessobjects.integration.eclipse.shared.EclipseLogger.logMessage(Unknown Source)    at com.businessobjects.integration.eclipse.shared.EclipseLogger.handleMessage(Unknown Source)    at com.businessobjects.integration.capabilities.logging.LogManager.message(Unknown Source)    at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validateOneFile(Unknown Source)    at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validate(Unknown Source)    at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validateInJob(Unknown Source)    at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:75)    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Plug-in Provider:.... Business Objects!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Plug-in name:.... Crystal Reports Java Development Tools!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Plug-in ID:.... com.businessobjects.crystalreports.integration.eclipse!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Version:.... 1.0.4.v1094!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE The error was detected in com.businessobjects.crystalreports.integration.eclipse  Please PEOPLE OF BUSINESS OBJECTS  ,  I need some support , I think the problem its in your plug in09 April 2008 , let me how much time i need to wait Your support , maybe , ill try  jasper Reports, or Birth, it depends on You people of BO  any req  -
    >   [email protected] thanks to people  that can help ...           

    Post Author: arfetgas
    CA Forum: Data Connectivity and SQL
    Hi im trying to view a simple report , this report have some parameters from a MS Access database.I  configure  everything, The ODBCJDBC bridge, the dns System on Windows, etc... and the problem its  like this,  I connect the database, but the schema its empty  , i cant map, the dinamic parameters of my report, with my access database.I have this errors  : at same time 1. This report uses a data connection that isn't fully supported by this version of the Crystal Reports designer.  You can modify the report in the designer, but the following actions that access this connection will fail: Browse data, verify database, and report preview.  We recommend you set the datasource location to a JDBC or Java Result Set data source.  2. Java.lang.RuntimeException: WARNING: Blocked recursive attempt to close part com.businessobjects.crystalreports.integration.eclipse.jspeditor.CRJSPEditor while still in the middle of activating it    at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1247)    at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1367)    at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:61)    at org.eclipse.ui.internal.PartStack.close(PartStack.java:543)    at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:206)    at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:122)    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:81)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)    at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)    at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$1.closeButtonPressed(DefaultTabFolder.java:67)    at org.eclipse.ui.internal.presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:596)    at org.eclipse.ui.internal.presentations.PaneFolder$3.close(PaneFolder.java:189)    at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2159)    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:320)    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)    at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)    at org.eclipse.jface.window.Window.open(Window.java:796)    at org.eclipse.ui.texteditor.AbstractTextEditor.handleEditorInputChanged(AbstractTextEditor.java:4403)    at org.eclipse.ui.texteditor.StatusTextEditor.handleEditorInputChanged(StatusTextEditor.java:220)    at org.eclipse.ui.texteditor.AbstractTextEditor.sanityCheckState(AbstractTextEditor.java:4555)    at org.eclipse.ui.texteditor.StatusTextEditor.sanityCheckState(StatusTextEditor.java:210)    at org.eclipse.ui.texteditor.AbstractTextEditor.safelySanityCheckState(AbstractTextEditor.java:4533)    at org.eclipse.wst.sse.ui.StructuredTextEditor.safelySanityCheckState(StructuredTextEditor.java:2945)    at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.handleActivation(AbstractTextEditor.java:921)    at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.partActivated(AbstractTextEditor.java:879)    at org.eclipse.ui.internal.PartListenerList$1.run(PartListenerList.java:72)    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)    at org.eclipse.core.runtime.Platform.run(Platform.java:857)    at org.eclipse.ui.internal.PartListenerList.fireEvent(PartListenerList.java:57)    at org.eclipse.ui.internal.PartListenerList.firePartActivated(PartListenerList.java:70)    at org.eclipse.ui.internal.PartService.firePartActivated(PartService.java:73)    at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:171)    at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:124)    at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:115)    at org.eclipse.ui.internal.WWinPartService$1.partDeactivated(WWinPartService.java:48)    at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:113)    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)    at org.eclipse.core.runtime.Platform.run(Platform.java:857)    at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)    at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:111)    at org.eclipse.ui.internal.PartService.firePartDeactivated(PartService.java:116)    at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:165)    at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:56)    at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:126)    at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3402)    at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:2946)    at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:265)    at org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:98)    at org.eclipse.ui.internal.presentations.PresentablePart.setFocus(PresentablePart.java:191)    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:92)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:272)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.handleMouseDown(AbstractTabFolder.java:342)    at org.eclipse.ui.internal.presentations.util.AbstractTabFolder$3.mouseDown(AbstractTabFolder.java:79)    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:178)    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)    at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)    at java.lang.reflect.Method.invoke(Unknown Source)    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)    at org.eclipse.equinox.launcher.Main.run(Main.java:1173)!ENTRY com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Error loading file prueba.rpt!STACK 0java.lang.Exception: Error loading file prueba.rpt    at com.businessobjects.integration.eclipse.shared.EclipseLogger.logMessage(Unknown Source)    at com.businessobjects.integration.eclipse.shared.EclipseLogger.handleMessage(Unknown Source)    at com.businessobjects.integration.capabilities.logging.LogManager.message(Unknown Source)    at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validateOneFile(Unknown Source)    at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validate(Unknown Source)    at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validateInJob(Unknown Source)    at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:75)    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Plug-in Provider:.... Business Objects!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Plug-in name:.... Crystal Reports Java Development Tools!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Plug-in ID:.... com.businessobjects.crystalreports.integration.eclipse!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE Version:.... 1.0.4.v1094!SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788!MESSAGE The error was detected in com.businessobjects.crystalreports.integration.eclipse  Please PEOPLE OF BUSINESS OBJECTS  ,  I need some support , I think the problem its in your plug in09 April 2008 , let me how much time i need to wait Your support , maybe , ill try  jasper Reports, or Birth, it depends on You people of BO  any req  -
    >   [email protected] thanks to people  that can help ...           

  • CR4E plug-in ERROR CONNECTIVITY MS ACCESS DATABASE :data connection that isn't fully supported by this version of the Crystal R

    Hi im trying to view a simple report , this report have some parameters from a MS Access database.
    I  configure  everything, The ODBCJDBC bridge, the dns System on Windows, etc...
    and the problem its  like this,
    I connect the database, but the schema its empty  , i cant map, the dinamic parameters of my report, with my access database.
    I have this errors  : at same time
    1. This report uses a data connection that isn't fully supported by this version of the Crystal Reports designer.  You can modify the report in the designer, but the following actions that access this connection will fail: Browse data, verify database, and report preview.  We recommend you set the datasource location to a JDBC or Java Result Set data source.
    2. Java.lang.RuntimeException: WARNING: Blocked recursive attempt to close part com.businessobjects.crystalreports.integration.eclipse.jspeditor.CRJSPEditor while still in the middle of activating it
        at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1247)
        at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1367)
        at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:61)
        at org.eclipse.ui.internal.PartStack.close(PartStack.java:543)
        at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:206)
        at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:122)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:81)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)
        at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
        at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$1.closeButtonPressed(DefaultTabFolder.java:67)
        at org.eclipse.ui.internal.presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:596)
        at org.eclipse.ui.internal.presentations.PaneFolder$3.close(PaneFolder.java:189)
        at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2159)
        at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:320)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
        at org.eclipse.jface.window.Window.open(Window.java:796)
        at org.eclipse.ui.texteditor.AbstractTextEditor.handleEditorInputChanged(AbstractTextEditor.java:4403)
        at org.eclipse.ui.texteditor.StatusTextEditor.handleEditorInputChanged(StatusTextEditor.java:220)
        at org.eclipse.ui.texteditor.AbstractTextEditor.sanityCheckState(AbstractTextEditor.java:4555)
        at org.eclipse.ui.texteditor.StatusTextEditor.sanityCheckState(StatusTextEditor.java:210)
        at org.eclipse.ui.texteditor.AbstractTextEditor.safelySanityCheckState(AbstractTextEditor.java:4533)
        at org.eclipse.wst.sse.ui.StructuredTextEditor.safelySanityCheckState(StructuredTextEditor.java:2945)
        at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.handleActivation(AbstractTextEditor.java:921)
        at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.partActivated(AbstractTextEditor.java:879)
        at org.eclipse.ui.internal.PartListenerList$1.run(PartListenerList.java:72)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
        at org.eclipse.core.runtime.Platform.run(Platform.java:857)
        at org.eclipse.ui.internal.PartListenerList.fireEvent(PartListenerList.java:57)
        at org.eclipse.ui.internal.PartListenerList.firePartActivated(PartListenerList.java:70)
        at org.eclipse.ui.internal.PartService.firePartActivated(PartService.java:73)
        at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:171)
        at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:124)
        at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:115)
        at org.eclipse.ui.internal.WWinPartService$1.partDeactivated(WWinPartService.java:48)
        at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:113)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
        at org.eclipse.core.runtime.Platform.run(Platform.java:857)
        at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)
        at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:111)
        at org.eclipse.ui.internal.PartService.firePartDeactivated(PartService.java:116)
        at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:165)
        at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:56)
        at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:126)
        at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3402)
        at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:2946)
        at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:265)
        at org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:98)
        at org.eclipse.ui.internal.presentations.PresentablePart.setFocus(PresentablePart.java:191)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:92)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:272)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.handleMouseDown(AbstractTabFolder.java:342)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder$3.mouseDown(AbstractTabFolder.java:79)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:178)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
        at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
    !ENTRY com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788
    !MESSAGE Error loading file prueba.rpt
    !STACK 0
    java.lang.Exception: Error loading file prueba.rpt
        at com.businessobjects.integration.eclipse.shared.EclipseLogger.logMessage(Unknown Source)
        at com.businessobjects.integration.eclipse.shared.EclipseLogger.handleMessage(Unknown Source)
        at com.businessobjects.integration.capabilities.logging.LogManager.message(Unknown Source)
        at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validateOneFile(Unknown Source)
        at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validate(Unknown Source)
        at com.businessobjects.crystalreports.integration.eclipse.wtp.CrystalReportsValidator.validateInJob(Unknown Source)
        at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:75)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
    !SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788
    !MESSAGE Plug-in Provider:.... Business Objects
    !SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788
    !MESSAGE Plug-in name:.... Crystal Reports Java Development Tools
    !SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788
    !MESSAGE Plug-in ID:.... com.businessobjects.crystalreports.integration.eclipse
    !SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788
    !MESSAGE Version:.... 1.0.4.v1094
    !SUBENTRY 1 com.businessobjects.crystalreports.integration.eclipse 4 4 2008-04-02 15:30:13.788
    !MESSAGE The error was detected in com.businessobjects.crystalreports.integration.eclipse
    Please PEOPLE OF BUSINESS OBJECTS  ,  I need some support , I think the problem its in your plug in
    09 April 2008 , let me how much time i need to wait Your support , maybe , ill try  jasper Reports, or Birth, it depends on You people of BO
    any req  -
    >   [email protected]
    thanks to people  that can help ...

    There are some other solutions possible.
    1. Get another driver. The only one known is java only so it wont crash. But is not not free.
    2. Use a proxy driver. That means that another app actually does the database work. If it crashes you just start it again (which you can do in your main code.) That way it won't take down your server. There are commercial jdbc drivers that claim MS Access but are are really just proxy implementations as an option in this area.

  • Too few parameters error

    hi,
    i keep getting the following error:
    SQLException in PAUserBean - getWorkNumber java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.here is code:
    public String getWorkNumber(String Id) {
         String workNumber = "";
         try {
              Connection conn = DriverManager.getConnection("jdbc:odbc:PA");
              Statement s = conn.createStatement();
              String sql = "SELECT WORKER.WORK_PHONE_NBR FROM WORKER WHERE WORKER.USER_ID=" + Id + ";";
              ResultSet rs = s.executeQuery(sql);
              if(rs.next()) {
                   workNumber = formatPhoneNumber(rs.getString("WORK_PHONE_NBR"));     
         }catch(SQLException e) {
              System.out.println("SQLException in PAUserBean - getWorkNumber " + e.toString());
         return workNumber;
    }here is the database map:
    WORKER TABLE:
    USER_ID - Number (primary key)
    WORK_PHONE_NMR - Text
    I'm using an MS Access database, when i run the following query in MS Access it returns the number:
    SELECT work_phone_nbr
    FROM Worker
    where id=102;
    odd thing is the jsp page does display the number, meaning the query is ok, but i see tomcat's log with that error, any ideas what it means? what parameter am i missing?
    Thank you.

    Enclose the parameter with single quotes. Also, you don't need the semi-colon.
    String sql = "SELECT WORKER.WORK_PHONE_NBR FROM WORKER WHERE WORKER.USER_ID='" + Id + "'";

  • Java, access database( mdb) and java.sql.date

    I having a problem querying my access database with user specified date the code is as follows
    //get results of income from database with respectto dates
         //so u first create the sql.date instances
         private void getResults(){
         String text1=from.getText();//text input is like this 01-01-2005
              String text2=to.getText();
         Date d1=new Date(Integer.parseInt(text1.substring(6)),Integer.parseInt(text1.substring(3,5)),Integer.parseInt(text1.substring(0,2)));
         JOptionPane.showMessageDialog(this,d1.toString());//traces date with 1900 added to year and 1 added to month
         try{
              //custom class DataSource used to connect to database
              Connection conn=DataSource.getConnection("RealFotoInc");
              PreparedStatement ps=conn.prepareStatement("select * from Members where date=?");
              ps.setDate(1,d1);
              ResultSet rs=ps.executeQuery();
              while(rs.next()){
                   System.out.println("going");
                   System.out.println("trial"+rs.getString(3));
         }catch(Exception se){
              JOptionPane.showMessageDialog(this,se);
         }and it prints out nothing I dont know what is wrong

    Whoever put that comment in there about "1900" and so on knew what had to be done. That "Date" class must be "java.sql.Date"; go and read the API documentation of that constructor you are using there. Then adjust the parameters you are passing to it accordingly.

  • SQL Exception in Access

    Hi,
    Getting a run-time error from a simple application:
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    The offending statement is:
    rs = stmt.executeQuery("SELECT usr,pwd,type FROM user_login WHERE usr=\"guest\"");
    Using MS-Access. This SQL runs fine from the sql interface in Access.
    Any help or pointer will be appreciated. Please let me know if you need any more info.
    Thanks,
    Arun

    Thanks Paul.
    I did try your suggestion, though the exception does not occur any more there are no results for the valid query (which works fine in the sql interface of access as well).
    Any thoughts why such a behavior migt be happening?
    The string that I pass now is:
    SELECT usr,pwd,type FROM user_login WHERE usr='guest'
    The same statement fetches results from the sql interface while through the JDBC/ODBC interaction no results are produced.
    Thanks for your time and replies.
    -- Arun

  • Using JSP to connect to an Access Database

    I need help on using JSP to connect to an Access database.
    This is the code I currently have connecting to a mySQL DB. I need to change it to connect to an Access DB. The reason I am switching DB's is because mySQL is no longer going to be carried by my host.
    Here is the code:
    <html>
    <head>
    <basefont face="Arial">
    </head>
    <body>
    <%@ page language="java" import="java.sql.*" %>
    <%!
    // define variables
    String UId;
    String FName;
    String LName;
    // define database parameters
    String host="localhost";
    String user="us867";
    String pass="jsf84d";
    String db="db876";
    String conn;
    %>
    <table border="2" cellspacing="2" cellpadding="5">
    <tr>
    <td><b>Owner</b></td>
    <td><b>First name</b></td>
    <td><b>Last name</b></td>
    </tr>
    <%
    Class.forName("org.gjt.mm.mysql.Driver");
    // create connection string
    conn = "jdbc:mysql://" + host + "/" + db + "?user=" + user + "&password=" +
    pass;
    // pass database parameters to JDBC driver
    Connection Conn = DriverManager.getConnection(conn);
    // query statement
    Statement SQLStatement = Conn.createStatement();
    // generate query
    String Query = "SELECT uid, fname, lname FROM abook";
    // get result
    ResultSet SQLResult = SQLStatement.executeQuery(Query);
         while(SQLResult.next())
              UId = SQLResult.getString("uid");
              FName = SQLResult.getString("fname");
              LName = SQLResult.getString("lname");
              out.println("<tr><td>" + UId + "</td><td>" + FName + "</td><td>" + LName
    + "</td></tr>");
    // close connection
    SQLResult.close();
    SQLStatement.close();
    Conn.close();
    %>
    </table>
    </body>
    </html>
    Thank You,
    Josh

    <%@ page language="java"%>
    <html>
    <head>
    <title>
    First Bean
    </title>
    <%@ page import="java.sql.*" %>
    </head>
    <body>
    <p>
    <%!
    Connection con;
    Statement st;
    ResultSet rs;
    String userid;
    String password;
    %>
    <%!public void db(JspWriter out)
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection("jdbc:odbc:phani");
    catch(Exception e){}
    try{
    st=con.createStatement();
    rs=st.executeQuery("SELECT * FROM login");
    while(rs.next())
    userid=rs.getString("userid");
    password=rs.getString("password");
    out.println(userid);
    out.println("</br>");
    out.println(password);
         out.println("</br>");     
    }catch(Exception e){}
    try{
    con.close();
    }catch(Exception e){}
    %>
    <%db(out);%>
    </p>
    </body>
    </html>
    phani is dsn name
    login is table name
    Good luck
    phani

Maybe you are looking for

  • Dependent documents for given FI document

    Dear Friends, Can i seek your help to know if there is any standard report existing to list all the documents related to SD / MM for a given FI Accounting Document (the document number of FB03). Thanks for helping me to know. BR, Ravi

  • Incorrect daylight saving change for Brazil, 2008

    Leopard is still using outdated (2007) timezone rules for Brazil, where DST starts Oct 14 and ends on Feb 17. This is wrong for 2008. On Sep 8 this year a new decree was passed regarding DST changes. It should start on every third sunday in October,

  • How to make a mask border

    I just started using flash again for the first time in years and it has changed a lot. I was not very good at it when I was using it back when but I just made a little animation and I need to make a mask border around the canvas. I have multiple laye

  • The battery problem,

    The battery indicator does not show normally. It shuts down after the adaptor plucks off. When the window is openned, It is shown visit to "www.hp.com/go/techcenter/startup"

  • Problem with calculating measures in AWM

    Hi, We created dimensions and cubes in AWM (or in OWB) - without using materialized views. We we maintain cube using sum, min and max aggregation function eberythink is OK - we can see data in views, but when we maintain cube using other function e.g