Transferring DB2 JDBC Calls to MySQL Database

I am working on J2EE technology and the DB Tier for it is on IBM DB2. At offshore we are setting up the database as MySQL and not DB2. How should I implement this so that without changing any part of the existing application code, all the JDBC calls meant for DB2 is directed to MySQL database. What
(The same code has to be moved to Client Side Server so I am very much reluctant to change the code for beans.) The application is developed on Websphere IDE
Thanks In Advance
KK
The greatest thing since the creation of the world,except for the incarnation and death of Him who created it,is the discovery of the Indies. -- Francisco Lopez De Gomara
****************************

Hi,
I do not know how have you implemented your application.I guess that the most correct thing is to define a datasource in your application server and access it from there. If you have hardcoded the database connection settings then you cannot avoid the changes.
Kiros

Similar Messages

  • Jdbc connectivity with mysql database

    I created a database in mysql, but I have problems communicating with the DB in java 
    here is the error
    java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/books
    at java.sql.DriverManager.getConnection(DriverManager.java:604)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at displayauthors.DisplayAuthors.main(DisplayAuthors.java:30)
    java.lang.NullPointerException
    at displayauthors.DisplayAuthors.main(DisplayAuthors.java:66)
    BUILD SUCCESSFUL (total time: 1 second)
    I edited the system variables in windowds
    CLASSPATH
    .;C:\Program Files (x86)\Java\jre7\lib\ext\QTJava.zip
    CLASSPATH1 (notice the 1 at the end, I don't want to override the previous one
    .,C:\Program Files (x86)\MySQL\Connector J 5.1.30\mysql-connector-java-5.1.30-bin.jar
    The Hostname: localhost   Port: 3306
    Username: root
    password:   Tpswsd77? (changed for thios post)
    Stored Connection: Local instance MySQL56
    connection Method: Standard(TCP/IP)
    HERE IS THE CODE 
    public class DisplayAuthors {
    // database URL                             
       static final String DATABASE_URL = "jdbc:mysql://localhost:3306/books";
       // launch the application
       public static void main( String args[] )
          Connection connection = null; // manages connection
          Statement statement = null; // query statement
          ResultSet resultSet = null; // manages results
          // connect to database books and query database
          try
            // establish connection to database                             
             connection = DriverManager.getConnection(
               // DATABASE_URL, "deitel", "deitel" );
                     //<editor-fold defaultstate="collapsed" desc="comment">
                     DATABASE_URL, "root", "Tpswsd77?" );
             //</editor-fold>
                  // create Statement for querying database
             statement = connection.createStatement();
             // query database                                       
             resultSet = statement.executeQuery(           
                "SELECT authorID, firstName, lastName FROM authors" );
             // process query results
             ResultSetMetaData metaData = resultSet.getMetaData();
             int numberOfColumns = metaData.getColumnCount();    
             System.out.println( "Authors Table of Books Database:\n" );
             for ( int i = 1; i <= numberOfColumns; i++ )
                System.out.printf( "%-8s\t", metaData.getColumnName( i ) );
             System.out.println();
             while ( resultSet.next() )
                for ( int i = 1; i <= numberOfColumns; i++ )
                   System.out.printf( "%-8s\t", resultSet.getObject( i ) );
                System.out.println();
             } // end while
          }  // end try
          catch ( SQLException sqlException )                               
             sqlException.printStackTrace();
          } // end catch                                                    
          finally // ensure resultSet, statement and connection are closed
             try                                                       
                resultSet.close();                                     
                statement.close();                                     
                connection.close();                                    
             } // end try                                              
             catch ( Exception exception )                             
                exception.printStackTrace();                           
             } // end catch                                            
          } // end finally                                             
       } // end main
    } // end class DisplayAuthors

    I edited the system variables in windowds
    CLASSPATH
    .;C:\Program Files (x86)\Java\jre7\lib\ext\QTJava.zip
    CLASSPATH1 (notice the 1 at the end, I don't want to override the previous one
    .,C:\Program Files (x86)\MySQL\Connector J 5.1.30\mysql-connector-java-5.1.30-bin.jar
    A few facts:
    1. You NEED to have the JDBC driver jar on the Java classpath
    2. You don't NEED to have the jar on the Windows classpath
    3. You don't NEED to 'override' the Windows classpath - you can just append the JDBC jar to it
    Just use #3 above - edit the Windows CLASSPATH environment variable and add the JDBC jar to it. At it at the start and follow it with a semicolon. Or at it at the end AFTER adding a semicolon.
    Or specify the CLASSPATH on the command line when you launch Java. Use the '-cp' or '-classpath <class . . >' options. Just type 'java' at the command line to see the list of parameters that can be used.

  • JDBC Driver for MySQL database which should support JDBC2.0 function

    Hi, Guys,
    I'm using JDK1.3 and mm.mysql-2.0.4-bin.jar in Windows NT. When I run following program, I got the error: java.sql.SQLException: ResultSet not updatable. (the function rs.last() is working).
    Based on the documentation, mm.mysql-2.0.4-bin.jar driver should support JDBC2.0 function, but in fact, it's not. So, what's wrong or where is the correct driver?
    Thank you in advance anyway!
    import java.sql.*;
    import java.sql.ResultSet.*;
    import java.util.*;
    public class BridgeMysql{
    public static void main (String[] args) throws Exception {
    String sTable = "test";
    try {
    Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    Connection conMysql = DriverManager.getConnection("jdbc:mysql://localhost/myDatabase?user=user&password=password");
    Statement st = conMysql.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    ResultSet rs = st.executeQuery("Select * from "+sTable);
    //rs.last();
    rs.moveToCurrentRow();
    System.out.println("Table "+sTable+" contains "+String.valueOf(rs.getRow())+" rows");
    rs.close();
    st.close();
    conMysql.close();
    catch (Exception e)
    System.out.println(e);

    Thought I might add something interesting I found.
    You need to include the field in your primary key. I only have one field in the key so I dont know how it works if you have more than one key.
    Makes sense considering Mark stated that you need the primary index defined. Looks like you need the fields as well from the select statement.
    Can anyone comment on why this is?

  • Can't connect a servlet to a mysql database (jdbc)

    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    public class LoginServletJDBC extends HttpServlet{
         public void doGet(HttpServletRequest request,HttpServletResponse response)
         throws ServletException,IOException{
              sendLoginForm(response,false);     }
         public void sendLoginForm(HttpServletResponse response,boolean error)
         throws ServletException,IOException{
              response.setContentType("text/html");
              PrintWriter out = response.getWriter();
              out.println("<html><head>");
              out.println("<title>Login</title>");
              out.println("</head>");
              out.println("<body>");
              out.println("<center>");
              if(error)
                   out.println("<b>Failed login. Please try again</b>");
              out.println("<br><br>");
              out.println("<h2>Login page</h2>");
              out.println("<br>Please enter your username and password");
              out.println("<br><br>");
              out.println("<form method=post>");
              out.println("<table>");
              out.println("<tr>");
              out.println("<td>Username : </td>");
              out.println("<td><input type=text name=userName></td>");
              out.println("</tr>");
              out.println("<tr>");
              out.println("<td>Password : </td>");
              out.println("<td><input type=password name=password></td>");
              out.println("</tr>");
              out.println("<tr>");
              out.println("<td align=right colspan=3>");
              out.println("<input type=submit value=Login></td>");
              out.println("</tr>");
              out.println("</table>");
              out.println("</form>");
              out.println("</center>");
              out.println("</body></html>");
    public void doPost(HttpServletRequest request,HttpServletResponse response)
         throws ServletException,IOException{
              String userName = request.getParameter("userName");
              String password = request.getParameter("password");
              if(login(userName,password)){
                   RequestDispatcher rd = request.getRequestDispatcher("AnotherServlet");
                   rd.forward(request,response);
              else{
                   sendLoginForm(response,true);
         boolean login(String userName,String password){
              try{
                   String url = "jdbc:mysql://localhost:3306/Users";
                   Class.forName("com.mysql.jdbc.Driver");
                   Connection con = DriverManager.getConnection(url,"root","");
                   //System.out.println("got connection");
                   Statement s = con.createStatement();
                   String sql = "select userName from Users where userName='"+userName+"and password='"+password+"';";
                   ResultSet rs = s.executeQuery(sql);
                   if(rs.next()){
                        rs.close();
                        s.close();
                        con.close();
                        return true;
                   rs.close();
                   s.close();
                   con.close();
              catch(ClassNotFoundException e){
                   System.out.println(e.toString());
              catch(SQLException e){
                   System.out.println(e.toString());
              catch(Exception e){
                   System.out.println(e.toString());
              return false;
    }so ...
    here i'm trying to connect to Users mysql database (i use Tomcat 4.1 and mysql servers and clients 4.0.1-alpha)
    where is the problem ? when i run this servlet (http://localhost:8080/example/servlet/LoginServletJDBC ) it works ;
    BUT when i type an username and a password (any user&pass) my servlet doesn't connect to the database (become a infinite loop without output ; i mean no any errors and exceptions)
    i try other think : i changed the database with unexisting database and the result was that i was expected (Unknow database 'unexistingdatabase' )
    what i miss ?
    please... can anyone help me...
    thank`s in advance

    The wireless security setting that the Actiontec modem/router is using may be different...and not compatible....than the setting that the Comcast product was using.
    If you think that might the case, and you have the time to troubleshoot......
    Temporarily, turn off the wireless security on the Actiontec modem/router
    Reset an AirPort Express back to default settings, then see if it will connect using no security and allow an Internet connection when you do the Ethernet port test in the post above again.
    If the AirPort Express cannot connect correctly using no security on the wireless network.....then it is a no brainer to know that it will never connect when security is enabled.  So, if the AirPort will not connect using no security, you may have an incompatibility issue between the Actiontec and Apple products.
    However, if the AirPort Express connects OK with no security, then this tells you that you will need to use a different setting for security on the Actiontec...the same that the Comcast router was using before.....so the Express will have a better chance of connecting.
    That setting would be something like WPA/WPA2 Personal, or the same setting stated another way would be WPA-PSK-TKIP.

  • Stored procedure : how to call SP in sender JDBC adapter for mysql

    HI friends ,
    we have JDBC---->XI--
    >SAP  scenario. For some business requirement, we have to call STORED PROCEDURE , please let me know how to call  SP in sender JDBC adapter for mysql .
    Thanks
    mojib

    Hi Mojib,
    Please create a sample stored procedure like this which contains select statement and in communication channel give
    wite stored procedure name only to sql query statment and in update statement write <test>.
    I am executing this stored procedure successfully.
    Create Proc GetResultX As
    Begin
    Select * From TESTX
    End
    Execute statement for stored procedure is :
    Exec GetResultX
    Regards
    Laxmi Bhushan Jha
    Rewards point if found usful
    I have given same answer to one of the same  thread

  • Stored Procedure call from JDBC sender for Oracle Database

    Hi,
    I have a requirement to call stored procedure using JDBC sender adapter for retriving data from an Oracle database.
    I need to execute first stored procedure call from Querry SQL statement and then trigger second stored procedure call for confirming the succesful retrival of those records from the update SQL statement.
    Querries:
    1. Can we trigger stored procedure from Update statement of JDBC sender.
    2. Can we call stored procedure from Querry statement, since I have read on other sdn threads that stored procedure calls on Oracle database are not allowed. If not possible to have "Execute stored procedure" would the function call (select * from table(function name)) work same as stored procedure.
    3. In a JDBC sender the Querry statement and Update statement are executed in same session call and same database connection. What happens if the querry statement was not succesful, would the update be still triggered.
    Please note PI does not have direct access to main table and hence the need to have separate stored procedure calls.
    The PI version is PI 7.11 sp4.
    Appreciate your inputs.
    Thanks.
    Siddhesh S.Tawate

    >1. Can we trigger stored procedure from Update statement of JDBC sender.
    I think not possible using update statement.
    > Can we call stored procedure from Querry statement, since I have read on other sdn threads that stored procedure calls on Oracle database are not allowed. If not possible to have "Execute stored procedure" would the function call (select * from table(function name)) work same as stored procedure.
    Yes using select query you can call stored procedure.
    >. In a JDBC sender the Querry statement and Update statement are executed in same session call and same database connection. What happens if the querry statement was not succesful, would the update be still triggered.
    No select and update handles in the same session using the same thread so if one transaction fails update should not proceed.

  • Oracle 8i database hangs for the same amount during JDBC calls.

    Hi all,
    I have a Oracle 8i database on solaris. The database hangs for exactly 61 seconds for a random jdbc call from my Java application, i mean there is no particular pattern or a JDBC call for which the database hangs. If i choose to wait for 61 seconds it returns the results from the database but if i try to access the database with another query(SQL Plus) the first query starts executing immediately. Is that a database configuration problem or some thing else.
    And i also get some exceptions occasionally( Maximum Open Cursors exception). Are these two related?
    Any feedback is appreciated.
    Thanks
    Hugo Victor

    I have uninstalled Oracle 8i.
    Removed all the services from Windows services by deleting corresponding registry entries and deleted the Oracle folder.
    I have reinstalled Oracle 8i, this time i changed the name of global database to oracledb.
    I channged the tnsnames.ora file from DevSuite appropriately as:
    # tnsnames.ora Network Configuration File: C:\DevSuiteHome_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = mscserver)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = ORACLEDB)
    Still it can't login using scott/tiger authentication.
    What may be the problem? Please help.
    -Sameer

  • How to connect mySQL database with jdbc

    Who can tell me how to connect mySQL database with jdbc? Thanks

    http://onesearch.sun.com/search/developers/index.jsp?and=connect+mysql&nh=10&phr=&qt=&not=&field=title&since=&col=devforums&rf=0&Search.x=24&Search.y=16

  • Call oracle_procedure from mysql database

    Hi all,
    How do I call oracle_procedure from mysql database?
    Is it possible at all?
    Thanks ahead.

    Hi,
      You can use the Database Gateway for ODBC (DG4ODBC) to connect to MySQL from Oracle.
    If you have access to My Oracle Support have a look at these notes -
    Master Note for Oracle Gateway Products (Doc ID 1083703.1)
    How to Configure DG4ODBC on 64bit Unix OS (Linux, Solaris, AIX, HP-UX Itanium) to Connect to Non-Oracle Databases Post Install (Doc ID 561033.1)
    How to Configure DG4ODBC (Oracle Database Gateway for ODBC) on Windows 32bit to Connect to Non-Oracle Databases Post Install (Doc ID 466225.1)
    How to Configure DG4ODBC (Oracle Database Gateway for ODBC) on 64bit Windows Operating Systems to Connect to Non-Oracle Databases Post Install (Doc ID 1266572.1)
    - depending on your platform.
    Regards,
    Mike

  • Jdbc for mySql Database

    I want to connect to MySql Database. My program Source is :
    import java.sql.*;
    @SuppressWarnings({"ALL"})
    public class test {
    public static void main(String args[]) throws ClassNotFoundException, SQLException, IllegalAccessException, InstantiationException {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    Connection con = DriverManager.getConnection ("jdbc:odbc:mysql://127.0.0.1:3306, "root", "edlovema1017");
    Statement stmt = con.createStatement();
    stmt.executeUpdate("DROP TABLE users");
    There is an error when my program is running.
    this error :
    Exception in thread "main" java.lang.NullPointerException
         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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

    1) How do you compile that?
    in
    getConnection ("jdbc:odbc:mysql://127.0.0.1:3306, "root", "edlovema1017");closing " is missing for the first parameter
    2) why jdbc:odbc:mysql not just jdbc:mysql ?
    3) as sabre150 stated, use
    Class.forName("com.mysql.jdbc.Driver")instead of
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();4) NEVER leave connection opened - add con.close() at the end
    5) Specify the database name, e.g.
    getConnection ("jdbc:mysql://127.0.0.1:3306/mydb", "root", "edlovema1017");6) good luck

  • Access to MySql Database in the Web Service

    Hi all,
    In my j2me web service project, i want to access to MySql database in the web service and
    my installation is
    Tomcat 5.0 for Java WSDP,
    Java Web Services Developer Pack 1.5,
    MySql Server 5.0 and environment variables are adjusted...
    server.xml where is in "C:\tomcat50-jwsdp\conf" is adjusted like this
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <Realm className="org.apache.catalina.realm.JDBCRealm"
         debug="99"
         driverName="com.mysql.jdbc.Driver"
         connectionURL="jdbc:mysql://localhost:3306/erendb"
         connectionName="root"
         connectionPassword=""
    />
    but i have not access to MySql database in the web service yet...
    please help...

    Hi Luis,
    If you see closely, the productID is actually a concatenation of the areaID and the productID. The reasoning here is that a product can be in multiple nodes of the product catalog and one would need to specify the product on a particular node for the direct URL to work.
    On a client site, we came up with a better solution by creating a new FM to retrieve the specific areaID and productID for a product. This FM could be called by extending the webshop. Then a .NET program was written to re-direct a shortened form of the URL to the long URL and therefore the specific product in the product catalog. Eg.: http://yyyyy.com/b2c/b2c/product would be automatically redirected to http://yyyyy.com/b2c/b2c/init.do?shop=<shop name>&areaID=<area Guid>&productID=<product Guid>, something similar to the concept behind "tinyurl.com". A point to remember here is that this would work only for the B2C webshop.
    Hope this helps.
    Cheers,
    Ashok.

  • MySQL Database Connection (two databases at the same time)

    I have never had to open more than one MySQL database from within the same website before, but I do now.  The website I have is designed where all the content comes from within the main database.  I am building an Inventory system that I want within it's own database, in the event I would ever need to move the application to another server or something, I don't want this data residing in the main database.
    Currently, I open the database connection from within a file called "common.php" that resides in a directory called "lib" that can be accessed from the root directory.  Below is the proposed code that would be placed within the "common.php" file:
    // Define Database Variables
    $dbserver = "127.0.0.1";
    $dbuser  = array('clevelan_user1', 'clevelan_user2');
    $dbpass  = array('P@ssw0rd', 'P@ssw0rd2');
    $dbname  = array('clevelan_database1', 'clevelan_database2');
    // Start Session
    session_start();
    // Connect to Databases
    connectdb($dbserver, $dbuser[0], $dbpass[0], $dbname[0]);
    connectdb2($dbserver, $dbuser[1], $dbpass[1], $dbname[1]);
    // Database 1 Connection
    function connectdb($dbserver, $dbuser, $dbpass, $dbname) {
    // connects to db
      global $connection;
      $connection = @mysql_connect($dbserver, $dbuser, $dbpass) or die ("could not connect to server");
      $db = @mysql_select_db($dbname, $connection) or die ("could not select databsase");
      return $connection;
    // Database 2 Connection
    function connectdb2($dbserver, $dbuser, $dbpass, $dbname) {
    // connects to db
      global $connection2;
      $connection2 = @mysql_connect($dbserver, $dbuser, $dbpass) or die ("could not connect to server");
      $db2 = @mysql_select_db($dbname, $connection2) or die ("could not select databsase");
      return $connection2;
    //End of Code Within the "common.php"
    From within any page of the website, I want to access both connections by placing an include at the top of each page:
    include_once("lib/common.php");
    Currently, when I run the code above, any page within the website (the home page) provides error messages with regards to database connectivity (the pages are looking for there content from within the second database.  It's as if the second database is the only database seen by the website.
    I need help figuring out how I can have two MySQL databases open at the same time (the second database will only be open for short periods of time and then closed).  But the main database is always open.

    Create one project using one copy of the exact tables.
    create 2 different sessions.xml files each pointing to the same project. Set the login information in the sessions.xml files.
    That should work fine.
    Peter

  • Connection to MySQL database, DBCO settings

    Hi experts,
    I need to connect to a MySQL database located on a different side.
    I do have the IP and domain name (e.g. my.test.com), MySQL DB name (SAPtest), Username (SAPuser) and Password (*****).
    I did following entries under DBCO:
    Name: SQLtest
    DBMS: MSS
    User Name: SAPuser
    DB-Password: *****
    Env. Info: MSSQL_DNS=my.test.com
    Connection Limit: -
    Connection Optimum: -
    I hope you see already, that I get the error message SQL Server does not exists or access denied.
    I check already all kind of forum and posts, but couldn´t find a good and satisfying documentation for this case.
    Yes, MSS is not MySQL, but different user say it is possible with this settings.
    I am thankful for any help!

    Thank you for the answer.
    I know the MSS library is not made by name for connecting to a MySQL DB, but Gudmundur and Pedro Gallardo were giving solutions ON connect SAP to a MySQL database. It really sounds like it is compatible. That might be also the answer why SAP is not offering a special library for MySQL - yes that is really a guess.
    Maybe jdbc would be the best solution, but I have no idea how to use it within my ABAP program. Actually I have never used any Java code or programs under SAP.
    Do you have a sample code, where there is theI call for the JDBC connection out of my ABAP program to connect and disconnect to the MySQL DB? This would be very helpful.
    I simply want to open the connection write some data into the MySQL DB and then close the connection.
    Thanks!
    Edited by: Rene Gegusch on Jun 14, 2011 8:37 AM

  • Is it possible to insert data into a MySQL database with Java?

    Hello everyone!
    I would like to know, if it's possible to insert data into a MySQL database, with a JFrame inside a servlet?
    When the JFrame is first created it calls this method:
         * Connects the servlet with the MySQL database.
        private void connect(){
            try{
                Class.forName("com.mysql.jdbc.Driver");
                connection = DriverManager.getConnection(
                        "jdbc:mysql://localhost:3306/data", "root", "omfg123");
            }catch(ClassNotFoundException cnfe){
                cnfe.printStackTrace();
            }catch(SQLException sqle){
                sqle.printStackTrace();
        }Then, when you click the "Add" button, it executes this code:
                add.addActionListener(new ActionListener(){
                    @Override
                    public void actionPerformed(ActionEvent ae){
                        String employee = employeeName.getText();
                        String[] args = employee.split(" ");
                        firstName = args[0];
                        lastName = args[1];
                        execute();
                });And this is my "execute()" method:
         * Connects the servlet with the MySQL database.
         * - And executes the SQL queries.
        private void execute(){
            try{
                PreparedStatement statement = connection.prepareStatement("insert" +
                        " into employees values(" + firstName + ", " + lastName
                        + ")");
                ResultSet result = statement.executeQuery();
                String fullName = firstName + " " + lastName;
                printer.write("Employee " + fullName + " added.</br>");
            }catch(SQLException sqle){
                sqle.printStackTrace();
        }But when I click the "Add" button, nothing happens.

    This is what I use to insert into mysql. It works on windows.
    try {
                Class.forName("com.mysql.jdbc.Driver");
                String connectionUrl = "jdbc:mysql://" + loadip + "/custsig?" +
                        "user=root&password=";
                Connection con = DriverManager.getConnection(connectionUrl);
                newproc = jTextField1.getText();
                newsoft = jTextField2.getText();
                newdeb = jTextField3.getText();
                newcust = jTextField4.getText();
                if (newcust.equals("")) {
                    errorsig12 = 1;
                    jLabel1.setForeground(new java.awt.Color(255, 0, 0));
                } else if (newsoft.equals("")) {
                    errorsig12 = 1;
                    jLabel2.setForeground(new java.awt.Color(0, 0, 0));
                } else if (newproc.equals("")) {
                    errorsig12 = 1;
                    jLabel3.setForeground(new java.awt.Color(0, 0, 0));
                } else if (newdeb.equals("")) {
                    errorsig12 = 1;
                    jLabel4.setForeground(new java.awt.Color(0, 0, 0));
                if (errorsig12 == 0) {
                    PreparedStatement ps = con.prepareStatement("insert into customer set cust_name = ?,  software = ?, processor = ?, debit = ?");
                    ps.setString(4, newdeb);
                    ps.setString(3, newproc);
                    ps.setString(2, newsoft);
                    ps.setString(1, newcust);
                    int rs = ps.executeUpdate();
            } catch (SQLException eg) {
                System.out.println("SQL Exception: " + eg.toString());
            } catch (ClassNotFoundException cE) {
                System.out.println("Class Not Found Exception: " + cE.toString());
            }

  • Unable to connect to MySQL database

    Hello,
    I have written a DatabaseManager class that controls access to a locally stored database, implemented in mysql. In theory, client request should be passed to the DatabaseManager through RMI, but I cannot even create a connection to the database yet!
    Here's my connect statement:
    con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/media", "mysql", "mysql");When this statement is executed, the following exception is produced:
    java.sql.SQLException: Unable to connect to any hosts due to exception: java.security.AccessControlException: access denied (java.util.PropertyPermission file.encoding read)Can somebody explain to me how I successfully create a connection to the database? I would be extremely grateful. Also, could somebody explain how I could connect to the database from a remote machine using the following connect statement:
    con = DriverManager.getConnection("jdbc:mysql://server:3306/media", "mysql", "mysql");I have a feeling I need to grant a certain PropertyPermission in my policy file, but I'm unsure of what values I should be using.
    Thank you in advance.
    Pete

    Thank you for the prompt reply.
    In answer to you question: No, it is not an applet. The DatabaseManager is a class that implements a Remote interface, I have it running on the same machine as the mysql database (the server). I then have a small GUI that runs on a client machine which is used to make RMI calls to the DatabaseManager across the network in order to query the database.
    When the DatabaseManager object is spawned on the server, it tries to connect to the database to be ready for client queries. This is when it produces the exception mentioned in the original post.
    What confuses me is that in my original implementation, the DatabaseManager object was run on the client and the mysql JDBC had no difficulty in connecting to the database across the network. Could the security manager have something to do with it? I am using the RMISecurityManager in conjunction with the java.policy file from the Java RMI tutorial on the Sun website.
    Pete

Maybe you are looking for