Wierd behavior from MySQL queries

I have a really frustrating problem in my JSP app that only seems to be occuring sporadically... I have to deploy it on an NT machine that is available right now. I'm using Tomcat/MySQL. I've had it on a W2000 machine and it has worked fine. To complicate things, the NT that it is on does have a proxy server that it must go through...it doesn't seem to want to work during the day, but in the evenings (presumably less traffic?), it has yet to fail me.
The part of the app that won't update properly is responsible for letting people sign into an office cube daily, updating a seat table in the MYSQL database. It 1st checks to see if the person is assigned to another seat, and deletes that entry if they are. It then updates the seat table, replacing '0' (meaning no one's sitting here) with the person's emp_id. Here's the code for these 2 methods in the seat bean (with session scope):
//1st method called...removes old entries...
public void checkAndRemove(int newEmpId)
throws SQLException {
int oldSeat = 0;
try{
Connection conn = connectionPool.getConnection();
Statement qs = conn.createStatement();
ResultSet rs = qs.executeQuery("SELECT id FROM seat WHERE" +
" id <> " + this.id + " AND emp_id = " + newEmpId +
" AND editable = " + QUOTE + "y" + QUOTE);
if(rs.next()) {
oldSeat = rs.getInt(1);
rs.close();
qs.close();
if(oldSeat > 0) {
qs = conn.createStatement();
rs = qs.executeQuery("SELECT COUNT(emp_id) FROM seat WHERE " +
"id = "+ oldSeat);
int cnt = rs.getInt(1);
rs.close();
qs.close();
Statement us = conn.createStatement();
if (cnt > 1) { //Is there more than 1 person at this old seat?
//If so, we can delete this entry...
us.executeUpdate("DELETE FROM seat" +
" WHERE id = " + oldSeat + " AND emp_id = " + newEmpId);
else {
us.executeUpdate("UPDATE seat SET emp_id = 0,note= " + QUOTE + " " + QUOTE + " WHERE id = " + oldSeat + " AND emp_id = " + newEmpId);
us.close();
connectionPool.close(conn);
catch(SQLException ex) {
ex.printStackTrace();
throw ex;
//2nd method called, updates the seat with new emp...
/**updateSeat updates seat information */
public void updateSeat(int newEmpId, String newNote)
throws SQLException {
java.util.Date dt = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String timestamp = sdf.format(dt);
newNote = escape(newNote); //escape any ' in the text...
try{
Connection conn = connectionPool.getConnection();
Statement us = conn.createStatement();
us.executeUpdate("UPDATE seat SET " +
" emp_id= " + newEmpId + COMMA +
"Note= " + QUOTE + newNote + QUOTE + COMMA +
"Timestamp= " + QUOTE + timestamp + QUOTE +
"WHERE seat.id = " + this.id + "AND seat.emp_id = " + this.empId);
us.close();
connectionPool.close(conn);
catch(SQLException ex) {
ex.printStackTrace();
throw ex;
The seat table has a primary key of id/emp_id.
Like I said, these queries have worked fine on a different installation, and they work sporadically on this one. Any clues about this? Could some sort of 'timeout' be occuring and not throwing any errors?
Any ideas/help would be greatly appreciated...
Thanks, Mike

Sorry. Let me clarify... While this app fails to properly insert into the database, the rest of the app functions as normal.
Basically, when I click on a hotspot, I open a small window with javaScript. The window has a form that I fill out with emp info, then I submit it and it closes. Then, when someone clicks on that hotspot, the record that should have been created displays...
This works some of the time, but when it doesn't, it simply displays a blank form, and based on a report run on another page, I know that it never inserted/updated the database. But never any error messages, etc.
Mike

Similar Messages

  • Wierd behavior from printers

    In my school we have a lot of HP printers. Each floor has it's own vlan and DHCP scope. Printers on floor 1, 2, 3 and 5 are behaving niceley. But on the fourth floor there's something strange going on. Last week all of them were transmitting 76 Mbit/s each for a total of half Gbit/s. So obviously I could not ping them. Now after a firmware update on each I can occassionally ping some of them. Sometimes with less than 1 ms latency. Other times with high latency and/or DUP!. Any ideas to what is going on?
    Thank you

    Sorry. Let me clarify... While this app fails to properly insert into the database, the rest of the app functions as normal.
    Basically, when I click on a hotspot, I open a small window with javaScript. The window has a form that I fill out with emp info, then I submit it and it closes. Then, when someone clicks on that hotspot, the record that should have been created displays...
    This works some of the time, but when it doesn't, it simply displays a blank form, and based on a report run on another page, I know that it never inserted/updated the database. But never any error messages, etc.
    Mike

  • Migrating from mysql to hsql

    I am trying to migrate my webapplication from mysql to hsql.
    Is there any tool for doing this? (converting mysql queries to hsql queries)

    I don't think there are any tools for that. If your queries are adhering to the general SQL standard (I don't know what that is called), there should not be any problem. If you are using any DB specific functions, search for their equivalent and replace them.

  • Big tables from MySql to MSSql error Connection timeout

    HI,
    I have a big database around 46GB in Mysql format and I managed to convert all the database to MSsql except two tables, the biggest ones. When I try to migrate those 2 tables, one by one , after a while I get the error message "Connection timeout and
    was disabled"
    I encreased the timeout from SSMA option from 15 to 1440 and decreased the basc from 1000 to 500 and same thing, The tables have 52 mil rows and 110 milion rows with 1,5 GB and 6.5 GB.
    What can I do to migrate them
    Thank You

    Hi,
    According to your description, we need to verify that if you have installed the latest version of
    MySQL ODBC driver. If you have installed it, in order to make a shorter duration transaction and avoid the timeout, you can try to reduce the batch size to lower value such as 200 or 100 in
    SSMA option. Also, as Raju’s post, you can try to use incremental data migration in SSMA to migrate lager tables, then check if it is successful.
    In addition, you can use other methods to migrate big tables from MySQL to SQL Server. For example, you can copy the data directly from SQL Server using OpenQuery, and you could include WHERE clause to limit the rows. For more details, please review this
    blog :Migrate MySQL to Microsoft SQL Server. Or you can write queries for MySQL to export your data as csv, and then use the
    BULK INSERT features of SQL Server to import the csv data.
    Thanks
    Lydia Zhang

  • Translating MSSQL to MySQL queries

    Is it possible to migrate with existing database from MSSQL to MySQL?
    I wander very much for application working in WIN32 environment (like wine) that translates queries for MSSQL to MySQL queries I mean the situation if some program would think it works with MSSQL but naturally it will work with MySQL carrying migration from MSSQL database with the same data.
    Many WIN32 programs use MSSQL mostly like databank.
    You guess I want to try to migrate with my production environment from Windows to Linux with some WIN32 application working. Is it possible?
    And I wander if MySQL stable equally comparing to MSSQL and have the same undo features.
    Does MySQL provide some WARRANTIES for production use?
    Thank you!

    Is it possible to migrate with existing database from MSSQL to MySQL?
    This is best answered by the MySQL people here:
    http://dev.mysql.com/tech-resources/art … osoft.html
    Notice that they have a discussion forum on the topic.
    And I wander if MySQL stable equally comparing to MSSQL and have the same undo features.
    In my experience MySQL is as good (and I think in fact better) but  that also depends on the intended use, server load, etc. so I'll live  it at that. You may want to have other opinions on the matter.
    Does MySQL provide some WARRANTIES for production use?
    Again let's MySQL speak by temselves:
    http://www.mysql.com/support/enterprise_support.html
    Hope this helps.
    Rick

  • [SOLVED] MySQL queries

    Hey guys just a quick one.  So I made a sweet script to install a wp from a repo version I have on my server.  From there using SED it makes it it's own new install.  So I was able to do the creating of the database, user, and privileges easily using mysql -u <user> -p<pass> -e "command" for each of those steps.  However here comes where i'm stuck.  So I still need to do these steps
    USE $name;
    UPDATE d3_wp_options SET option_value='http://$domain' WHERE option_name='siteurl';
    UPDATE d3_wp_options SET option_value='$name' WHERE option_name='blogname';
    UPDATE d3_wp_options SET option_value='' WHERE option_name='blogdescription';
    UPDATE d3_wp_options SET option_value='http://$domain' WHERE option_name='home';
    However my issue is if I use the above mentioned format to fire mysql queries in the script it will use $name and then when going to the next one it won't be in that database.  So my next thought was using a sub-script and exporting $name and $domain into that script and from there using those variables in the sub-script and just use the -e mysql command.  Is there an easier way to do this with out having to go into a sub-script, like a way to use mysql -u <user> -p<pass> -e and string all of those commands together?
    Last edited by hauntedbyshadow (2014-07-21 12:36:37)

    I'm not sure I understand your question.
    If you are installing WP which runs in PHP would it not be easier to user PHP to do the installation? That way you could use an embedded procedure in the database and things would be easier.
    I do not think you can open a connection to a DB with SED. Can you? And the only way I can see you keeping tabs on what tables/database you are calling is by having an embedded procedure at the DB level. Not to mention, it would be more secure and faster.
    Just a thought.
    R.

  • How to get the data from mysql database which is being accessed by a PHP application and process the data locally in adobe air application and finally commit the changes back in to mysql database through the PHP application.

    How to get the data from mysql database which is being accessed by a PHP application and process the data locally in adobe air application and finally commit the changes back in to mysql database through the PHP application.

    If the data is on a remote server (for example, PHP running on a web server, talking to a MySQL server) then you do this in an AIR application the same way you would do it with any Flex application (or ajax application, if you're building your AIR app in HTML/JS).
    That's a broad answer, but in fact there are lots of ways to communicate between Flex and PHP. The most common and best in most cases is to use AMFPHP (http://amfphp.org/) or the new ZEND AMF support in the Zend Framework.
    This page is a good starting point for learning about Flex and PHP communication:
    http://www.adobe.com/devnet/flex/flex_php.html
    Also, in Flash Builder 4 they've added a lot of remote-data-connection functionality, including a lot that's designed for PHP. Take a look at the Flash Builder 4 public beta for more on that: http://labs.adobe.com/technologies/flashbuilder4/

  • Unable to connect to the server to pull data from mysql

    Hello,
    I am novice working with Flash Builder 4 and I just created a test application which runs well in my computer pulling data from Mysql using PHP and populating a datagrid. But when I transfered it to the my hosting provider failed. I have been doing some modifications to the gateway.php and amf.config.ini to solve some of the issues. Now the application try to run but doesn't populate the data in the datagrid. I included a tracking point in my data service file to read the connections variables, but they come up in blank. I highly appreciate any help. Here are my gateway.php, amf.config.ini and the data service.
    gateway.php
    <?php
    ini_set("display_errors", 1);
    $dir = dirname(__FILE__);
    $webroot = $_SERVER['DOCUMENT_ROOT'];
    $configfile = "$dir/amf_config.ini";
    $fp = fopen("tracking.txt", "a");
    fwrite($fp, "1-config file " . $configfile . "\r\n");
    //default zend install directory
    $zenddir = $webroot. '/ZendFramework/library';
    //-$zenddir = $webroot;
    fwrite($fp, "2-default zendir" . $zenddir . "\r\n");
    //Load ini file and locate zend directory
    if(file_exists($configfile)) {
         $arr=parse_ini_file($configfile,true);
         if(isset($arr['zend']['webroot'])){
              $webroot = $arr['zend']['webroot'];
              $zenddir = $webroot. '/ZendFramework/library';
         if(isset($arr['zend']['zend_path'])){
              $zenddir = $arr['zend']['zend_path'];
    fwrite($fp, "3-after zendir" . $zenddir . "\r\n");
    // Setup include path
    //add zend directory to include path
    set_include_path(get_include_path().PATH_SEPARATOR.$zenddir);
    // Initialize Zend Framework loader
    require_once 'Zend/Loader/Autoloader.php';
    //-require_once 'Autoloader.php';
    Zend_Loader_Autoloader::getInstance();
    // Load configuration
    $default_config = new Zend_Config(array("production" => false), true);
    $default_config->merge(new Zend_Config_Ini($configfile, 'zendamf'));
    $default_config->setReadOnly();
    $amf = $default_config->amf;
    fwrite($fp, "4- configfile" . $dafault_config["production"] . "\r\n");
    // Store configuration in the registry
    Zend_Registry::set("amf-config", $amf);
    // Initialize AMF Server
    $server = new Zend_Amf_Server();
    $server->setProduction($amf->production);
    if(isset($amf->directories)) {
         $dirs = $amf->directories->toArray();
         foreach($dirs as $dir) {
             // get the first character of the path.
             // If it does not start with slash then it implies that the path is relative to webroot. Else it will be treated as absolute path
             $length = strlen($dir);
             $firstChar = $dir;
             if($length >= 1)
                  $firstChar = $dir[0];
             if($firstChar != "/"){
                  // if the directory is ./ path then we add the webroot only.
                  if($dir == "./"){                  
                       $server->addDirectory($webroot);
                  }else{
                       $tempPath = $webroot . "/" . $dir;
                        $server->addDirectory($tempPath);
              }else{
                      $server->addDirectory($dir);             
    fwrite($fp, "5-temp path" . $tempPath . "=>" . "\r\n");
    fwrite($fp, "******************************************" . "\r\n");
    // Initialize introspector for non-production
    if(!$amf->production) {
         $server->setClass('Zend_Amf_Adobe_Introspector', '', array("config" => $default_config, "server" => $server));
            $server->setClass('Zend_Amf_Adobe_DbInspector', '', array("config" => $default_config, "server" => $server));
    // Handle request
    echo $server->handle();
    ?>
    amf.config.ini
    [zend]
    ;set the absolute location path of webroot directory, example:
    ;Windows: C:\apache\www
    ;MAC/UNIX: /user/apache/www
    ;-webroot =c:/wamp/www/
    webroot = /home/frutiexp/public_html
    ;set the absolute location path of zend installation directory, example:
    ;Windows: C:\apache\PHPFrameworks\ZendFramework
    ;MAC/UNIX: /user/apache/PHPFrameworks/ZendFramework
    ;zend_path = /home/frutiexp/public_html/ZendFramework
    [zendamf]
    amf.production = true
    amf.directories[]=fb41/services
    ;amf.directories[]=./
    CoursesService.php
    <?php
    *  README for sample service
    *  This generated sample service contains functions that illustrate typical service operations.
    *  Use these functions as a starting point for creating your own service implementation. Modify the
    *  function signatures, references to the database, and implementation according to your needs.
    *  Delete the functions that you do not use.
    *  Save your changes and return to Flash Builder. In Flash Builder Data/Services View, refresh
    *  the service. Then drag service operations onto user interface components in Design View. For
    *  example, drag the getAllItems() operation onto a DataGrid.
    *  This code is for prototyping only.
    *  Authenticate the user prior to allowing them to call these methods. You can find more
    *  information at <link>
    class CoursesService {
         var $username = "myusername";
         var $password = "mypassword"
         var $server = "localhost";
         var $port = "3306";
         var $databasename = "frutiexp_trainsur";
         var $tablename = "courses";
         var $connection;
          * The constructor initializes the connection to database. Everytime a request is
          * received by Zend AMF, an instance of the service class is created and then the
          * requested method is invoked.
         public function __construct() {
                $this->connection = mysqli_connect(
                                              $this->server, 
                                              $this->username, 
                                              $this->password,
                                              $this->databasename,
                                              $this->port
    $fp = fopen("./tracking.txt", "a");
    fwrite($fp, "1-service".  $databasename . " " . $username . "\r\n");
    fclose($fp);
              $this->throwExceptionOnError($this->connection);
          * Returns all the rows from the table.
          * Add authroization or any logical checks for secure access to your data
          * @return array
         public function getAllCourses() {
              $stmt = mysqli_prepare($this->connection, "SELECT * FROM $this->tablename");         
              $this->throwExceptionOnError();
              mysqli_stmt_execute($stmt);
              $this->throwExceptionOnError();
              $rows = array();
              mysqli_stmt_bind_result($stmt, $row->cou_id, $row->cou_title, $row->cou_overview, $row->cou_objectives);
             while (mysqli_stmt_fetch($stmt)) {
               $rows[] = $row;
               $row = new stdClass();
               mysqli_stmt_bind_result($stmt, $row->cou_id, $row->cou_title, $row->cou_overview, $row->cou_objectives);
              mysqli_stmt_free_result($stmt);
             mysqli_close($this->connection);
             return $rows;
          * Returns the item corresponding to the value specified for the primary key.
          * Add authroization or any logical checks for secure access to your data
          * @return stdClass

    Hello Jdesko,
    Thank you for you prompt response. Yes, I have changed the connections variables in my dataservice ( I didn't post real values). You are right, after all I didn't make changes on the gateway.php except to add some tracking points. The one that I changed is the amf.config,ini. The application runs without any error exceptions, but don't populate the datagrid. According with the tracing is stoping just when establishing the connection to the database. Please let me know if you have any other clue. thanks

  • Migrating from MySQL to Oracle 11g

    can u tell me the steps to migrating database from MySQL to Oracle using SQL Developer?
    I have installed Oracle 11g(11.1.0.6.0) in server and SQl Developer in my local system.
    I connected to MySQL and Oracle in SQL Developer and tried to MIgrate everything in MySQL to Oracle using Quick Migrate option.
    it took one and half day but didn't work at last...
    is there any pre tasks that i need to do before migrating to oracle from MySQL?
    and also when i export the MySQL data to Oracle using SQL Developer,it is giving data type mismatch errors like (date, boolean etc...).
    please give a reply what i need to do and any refferences also very much appreciated.

    hi Turloch ,
    I followed the steps mentioned above.
    When I right click my MySQL server db Connection and click "Capture MySQL server", it just shows a dialog with "Close" enabled.
    after clicking the close button, it gives following error messages.
    oracle.dbtools.metadata.persistence.PersistableObject.doInsert(PersistableObject.java:238)
    the same error is coming no of times.
    Kindly help me in this regard.

  • How can i display data from mysql (cant do it using netbeans)

    im confused with changing ResultSet-->List->Array;
    i already done displaying a data table from mysql but im lost on how to display mysql rows to ComboBoxes and JLists...
    im new here.
    how does the setModel() work?
    i hate this GUI stuff.. = (
    thanks...

    im new here.
    how does the setModel() work?
    i hate this GUI stuff.. = (You claim you have JDBC working already, if I understand your post correctly. So you're asking a question about GUIs in the JDBC forum. Not a good strategy. Try the Swing forum.

  • How do I display data from Multiple Queries in a spreadsheet?

    I am running Oracle forms 10g as a kicker to export a report (rdf 10.1.2.0.2) to PDF or Excel Spreadsheet - User's choice.
    Doesn't matter if I have desformat = SPREADSHEET, DELIMITEDDATA, or DELIMITED; I still get only the first query displayed when I run in spreadsheet format.
    How do I display data from Multiple Queries in a spreadsheet? Is this possible?
    Thanks in advance!

    Hi adam,
    did you search the forum? You will find a lot of threads handling the problem of Excel file access.
    In short: you need to use ActiveX (the RGT also uses ActiveX under the hood)!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Translating SQL from MYSQL to ORACLE with more than one outer join.

    I will translate the following sqlquery from MYSQL to ORACLE:
    SELECT ticket.ticket_no,ticket.ticket_dato,ticket.ticket_subject,ticket.customer_id,customer_name,ticket.ticket_own_read, ticket.department_id, department.department_name, priority_name, tickstat_name, tickettype_name
    FROM customer, ticket left join department
    on ticket.department_id = department.department_id left join priority on ticket.priority_id = priority.priority_id
    left join ticketstatus on ticket.tickstat_id = ticketstatus.tickstat_id
    left join tickettype on ticket.tickettype_id = tickettype.tickettype_id
    where ticket.customer_id = customer.customer_id and customer.owner_id =
    #session.owner_id#
    I have tried in ORACLE with:
    SELECT ticket.ticket_no,ticket.ticket_dato,ticket.ticket_subject,ticket.customer_id,customer_name,ticket.ticket_own_read, ticket.department_id, department.department_name, priority_name, tickstat_name, tickettype_name
    FROM customer, ticket ,department, priority, ticketstatus, tickettype
    where
    ticket.department_id(+) = department.department_id and
    ticket.priority_id(+) = priority.priority_id and
    ticket.tickstat_id(+) = ticketstatus.tickstat_id and
    ticket.tickettype_id(+) = tickettype.tickettype_id and
    ticket.customer_id = customer.customer_id and customer.owner_id = #session.owner_id#
    I get an error:
    MERANT][ODBC Oracle driver][Oracle]ORA-01417: a table may be outer joined to at most one other table
    How do I translate the code to ORACLE?

    I think that your syntax is wrong. The (+) operator should be on the right hand table column, not the left hand table column if you want all rows on the left hand table column. If this syntax is really what you want, you can create underlying views for each join condiction.

  • Migration from MySql to Derby

    I am currently migrating from MySql to Derby.
    I have been developing a MRPII package for a while now and whilst my classes worked with MySql I am finding difficulty with implementing them using Derby.
    I have developed a GUI interface for MRPII functions and use a Database Interface class to connect to the database.
    The Database Interface class gives me the capability of reading and writing from a database.
    I extend this capability to sub classes ie part, customers, suppliers, work orders.
    The problem I have is with the ' "+standardCost+" ' type statements. In MySql, the database engine recognises that the standard cost variable is a double though using Derby I get the following Errors.
    SQL Exception: Columns of type 'DOUBLE' cannot hold values of type 'CHAR'. In Save Data error code30000
    SQL Exception: Columns of type 'DOUBLE' cannot hold values of type 'CHAR'. In Save Data error code30000
    Executed statement INSERT INTO stock VALUES('BUDGET500','A1', '100.0','50.0','1.0','100.0')
    Executed statement INSERT INTO part VALUES('BUDGET500', 'PENTIUM','76.0', '86.0','EACH','MP','7','33')
    The only solution I see is giving each subclass of Database Interface the individual capability within that class to connect to the database and use prepared statements.
    Does anyone know if Derby has the capability of processing the updates using a similar format as shown in my code.
    package delta.databaseInterface;
    import delta.databaseInterface.DatabaseInterface;
    public class Part extends DatabaseInterface{
         private String partNumber;
         private String partType;
         private String description;
         private double standardCost;
         private double sellingPrice;
         private String stockLocation;
         private double quantityOnHand;
         private String unitOfMeasure;
         private double minimumStock;
         private double minimumOrderQuantity;
         private int leadTime;
         private double avaliableStock;
                         private int commodityCode;
         public void setPartNumber(String pn){
              this.partNumber = pn.toUpperCase();
         public void setDescription(String ds){
              this.description = ds.toUpperCase();
         public void setStandardCost(double sc){
              this.standardCost = sc;
         public void setSellingPrice(double sp){
              this.sellingPrice = sp;
         public void setQuantityOnHand(double qt){
              this.quantityOnHand = qt;
              this.avaliableStock = qt;
         public void setStockLocation(String sl){
              this.stockLocation = sl.toUpperCase();
         public void setUnitOfMeasure(String uom){
              this.unitOfMeasure = uom.toUpperCase();
         public void setTypeOfPart(String top){
              this.partType = top.toUpperCase();
         public void setMinimumStock(double ms){
              this.minimumStock= ms;
         public void setMinimumOrderQuantity(double moq){
              this.minimumOrderQuantity = moq;
         public void setLeadTime(int lt){
              this.leadTime = lt;
                         public void setCommodityCode(int cc){
              this.commodityCode = cc;
         public void insertIntoPartDatabase(){
           super.setDatabase("mrpii");
                           super.setUpdate( "INSERT INTO part VALUES('"+partNumber+"', '"+description+"','"+standardCost+"'," +
           " '"+sellingPrice+"','"+unitOfMeasure+"','"+partType+"','"+leadTime+"','"+commodityCode+"')");
                             super.saveData();       
         public void insertIntoStockDatabase(){
            super.setDatabase("mrpii");
            super.setUpdate("INSERT INTO stock VALUES('"+partNumber+"','"+stockLocation+"',"+
    " '"+quantityOnHand+"','"+minimumStock+"','"+minimumOrderQuantity+"','"+avaliableStock+"')");
                    super.saveData();
         public void changePartDetails(){
            super.setDatabase("mrpii");
            super.setUpdate( "UPDATE part SET description = '"+description+"',unitOfMeasure = '"+unitOfMeasure+"',"+
              "partType = '"+partType+"' WHERE partNumber = '"+partNumber+"' ");
            super.saveData();
         public void adjustStock(){
              super.setDatabase("mrpii");
              super.setUpdate( "UPDATE stock SET stockLocation = '"+stockLocation+"',"+
              "avaliableStock = (('"+quantityOnHand+"' - qtyOnHand ) + avaliableStock), "+
              " qtyOnHand = '"+quantityOnHand+"' WHERE partNumber = '"+partNumber+"' ");
              super.saveData();
         public void insertAllocation(String allocationID, double quantity){
              super.setDatabase("mrpii");
              super.setQuery("INSERT INTO allocations VALUES('"+partNumber+"','"+quantity+"',"+
                 " '"+allocationID+"')");
              super.saveData();
         public void reduceAvaliable(double allocated){
              super.setDatabase("mrpii");
              super.setUpdate( "UPDATE stock SET avaliableStock = (avaliableStock - '"+allocated+"') WHERE " +
              "partNumber = '"+partNumber+"' ");
              super.saveData();
         public void increaseAvaliable(double allocated){
              super.setDatabase("mrpii");
              super.setUpdate( "UPDATE stock SET avaliableStock = (avaliableStock - '"+allocated+"') WHERE " +
              "partNumber = '"+partNumber+"' ");
              super.saveData();
    }Any help would be deeply appreciated
    Thanks
    Jim

    I am currently migrating from MySql to Derby. Dear God, why?I am using the embedded functionality.
    >
    I have been developing a MRPII package for a whilenow
    MRP as in "manufacturing resource planning"?Yes
    >
    and whilst my classes worked with MySql I am
    finding difficulty with implementing them using
    Derby.That suggests that your Java code relies too heavily
    on MySQL features. You didn't make your code
    portable enough.
    I have developed a GUI interface for MRPIIfunctions
    and use a Database Interface class to connect tothe
    database.
    The Database Interface class gives me thecapability
    of reading and writing from a database.
    I extend this capability to sub classes ie part,
    customers, suppliers, work orders.
    The problem I have is with the ' "+standardCost+"'
    type statements. In MySql, the database engine
    recognises that the standard cost variable is a
    double though using Derby I get the following
    Errors.Right - you're counting on something that might not
    be true for all databases. MySQL appears to be doing
    an implicit conversion from string to double. Bad
    idea.
    SQL Exception: Columns of type 'DOUBLE' cannothold
    values of type 'CHAR'. In Save Data errorcode30000
    SQL Exception: Columns of type 'DOUBLE' cannothold
    values of type 'CHAR'. In Save Data errorcode30000
    Executed statement INSERT INTO stock
    VALUES('BUDGET500','A1',
    '100.0','50.0','1.0','100.0')
    Executed statement INSERT INTO part
    VALUES('BUDGET500', 'PENTIUM','76.0',
    '86.0','EACH','MP','7','33')Do you use PreparedStatements to escape strings and
    dates for you? If not, you're in for a bumpy ride.
    The only solution I see is giving each subclass of
    Database Interface the individual capabilitywithin
    that class to connect to the database and use
    prepared statements.I would not have a single database interface. Each
    class has its own requirements. How can a single
    class know about all of them? Better to break your
    persistence layer into several interaces, one per
    persistent class.That is what I thought
    >
    Does anyone know if Derby has the capability of
    processing the updates using a similar format as
    shown in my code.I think your code is in trouble, Jim.Probably so, thought a redesign is not so much of a problem now as I am a bit more experienced than when I started out.
    >
    You don't use prepared statements, which would help
    with your portability issues.
    You have SQL embedded in the objects. I'd move it
    out into a separate persistence layer.
    You might want to read about Hibernate, an
    object/relational mapping layer. You've got objects
    and tables. Hibernate tools or Middlegen can
    generate the XML mapping files for you. Once you
    have those, you'll find that Hibernate will make
    porting to another database a lot easier. It can be
    as easy as changing configuration files.
    I'd also look into Spring. It has some great
    plumbing to help you deal with databases and lots of
    other stuff.
    %My main class is as follows;
    package delta.databaseInterface;
    * @author James Charles
    import java.sql.SQLException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.util.Vector;
    import javax.swing.JTable;
    public class DatabaseInterface{
         private String database;
         private String query;
                         private String update;
                private String[][] results = new String[0][0];
         private int columnCount = 0;
         private int rowCount = 0;
         private boolean resultsExist = false;
         Object data[][];
         private JTable table;
         public void setDatabase(String database){
              this.database = database;
         public void setQuery(String query){
              this.query = query;
                public void setUpdate(String update){
              this.update= update;
            public void saveData(){
              try{
              Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
              String sourceURL = new String("jdbc:derby:" + this.database);
              Connection databaseConnection = DriverManager.getConnection(sourceURL);
              Statement statement = databaseConnection.createStatement();
              statement. executeUpdate(this.update);
                    databaseConnection.close();
              } // end of try
              catch(ClassNotFoundException cnfe){
                   System.err.println(cnfe);
              catch(SQLException sqle){
                   System.err.println(sqle + " In Save Data error code" + sqle.getErrorCode());
                             System.out.println("Executed statement " + this.query);
                    catch(InstantiationException ie){
                        System.err.println(ie);
             catch(IllegalAccessException iae){
                        System.err.println(iae);
         public String getDatabase(){
              return this.database;
         public String getQuery(){
              return this.query;
         public void setResults(){           
         try{
              Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
              String sourceURL = new String("jdbc:derby:" + this.database);
              Connection databaseConnection = DriverManager.getConnection(sourceURL);
              Statement statement = databaseConnection.createStatement();
              ResultSet thisResult = statement.executeQuery(this.query);
                    databaseConnection.commit();
              System.out.println("Executed statement");
              convertToArray(thisResult);
              databaseConnection.close();
         } // end of try
         catch(ClassNotFoundException cnfe){
              System.err.println(cnfe);
         catch(SQLException sqle){
              System.err.println(sqle);
         catch(InstantiationException ie){
                        System.err.println(ie);
             catch(IllegalAccessException iae){
                        System.err.println(iae);
         public void convertToArray(ResultSet resultsIn) throws SQLException{
              this.resultsExist = false;
              String[] columnNames = new String[0];
              Vector dataRows = new Vector();
              ResultSetMetaData metadata = resultsIn.getMetaData();
              this.columnCount = metadata.getColumnCount();
              columnNames = new String[this.columnCount];
              for(int i = 0; i < this.columnCount; i++)
                   columnNames[i] = metadata.getColumnLabel(i+1);
              String[] rowData = new String[this.columnCount]; // Stores one row
              while(resultsIn.next()){ // For each row...
                   rowData = new String[this.columnCount]; // create array to hold thedata
                        for(int i = 0; i < this.columnCount; i++)// For each column
                        rowData[i] = resultsIn.getString(i+1); // retrieve the data item
                        dataRows.addElement(rowData); // Store the row in the vector
              this.results= new String[dataRows.size()][this.columnCount];
              this.data= new Object[dataRows.size()][this.columnCount];
              for(int column = 0; column < this.columnCount; column++)
                   for(int row = 0; row < dataRows.size(); row++){
              this.results[row][column] = ((String[])(dataRows.elementAt(row)))[column];
              this.data[row][column] = ((String[])(dataRows.elementAt(row)))[column];
              this.rowCount = dataRows.size();
              try{
                   if  (results[0][0].equals(null)){ this.resultsExist = false;} //ckecks results
                        else {this.resultsExist = true;}
                   catch (ArrayIndexOutOfBoundsException e){
                   System.out.println(e + "in catch");
                   this.resultsExist = false;
                   System.out.println("Value of exists in catch = " + this.resultsExist);
         }// end of set results
         public JTable getTable(Object[] columnNames) {
              table = new JTable(data, columnNames);
              return table;
         public int getColumnCount(){
              return this.columnCount;
         public int getRowCount(){
              return this.rowCount;
         public String getData(int row, int column){
              return this.results[row][column];
         public boolean doResultsExist(){
              return this.resultsExist;
    } // end of database InterfaceI developed this code about a year ago and maybe it is time to simplify it.
    With MySql I could create an instance of Database Interface or use one of its subclasses and perform any function on the database by calling its methods.
    maybe it is time for a redesign!
    thanks
    jim

  • Error while importing the tables from MySQL using the data source connection

    Hi,
    I am trying to import tables from MySQL into Powerpivot using the data source connection, if use the import using the Query option its working fine but not with the select list of table option.
    when i click on the select list of tables option, i get the below error after selecting all the tables to be imported:
    OLE DB or ODBC error.
    An error occurred while processing table 'XXXXXXXXXX'.
    The current operation was cancelled because another operation in the transaction failed.

    Hi Bharat17an,
    Please provide the detail information when create the MySQL connection in your PowerPivot model. Here is a good article regarding "how to Use MySQL and Microsoft PowerPivot Together" for your reference, please see:
    http://www.datamensional.com/2011/09/how-to-use-mysql-and-microsoft-powerpivot-together-2/
    If this issue still persists, please help to collection windows event log information. It maybe helpful for us to troubleshoot this issue.
    Regards,
    Elvis Long
    TechNet Community Support

  • How to fetch data from Mysql with SSL.

    I am using jdk1.5 and mysql 5.0.
    How to fetch data from Mysql with SSL
    I am using url = jdbc:mysql://localhost/database?useSSL=true&requireSSL=true.
    It shows error. how to fetch

    I have created certificate in mysql and checked in mysql.
    mysql>\s
    SSL: Cipher in use is DHE-RSA-AES256-SHA
    but through ssl how to fetch data in java.

Maybe you are looking for

  • How do I get a value attached to a text on a dropdown list?

    I need to get an overall average based on the selected option in several different dropdown lists. Once I have the average the final field will reflect the text as one of the options.  There are 3 areas that are being measured.  Quantity, Quality and

  • Macbook Pro Harddrive Broken?

    Hi all, I appreciate you're all busy people - but if you had a second, some advice would be brilliant. (Also - apologies in advance for being a hardly a tech genius). I have a MacBook Pro (2010), not sure of which version of OS X, and during normal i

  • Portege R700 - External monitor color is purple

    The external monitor is with the main colour purple. The labtop detects the monitor right and all works well, but there is since today a main colour purple over all. Its the same wth a beamer!

  • Amount in document currency & group currency is different

    dear all, In my company i have been activated material ledger & parallel currency. I want to make sure is my setting is correct or not and i want give the example: <b>Material master data:</b> MAV material : Company code currecny : 20000 IDR Group cu

  • JOLT JSL Load Balancing ?

    Hello Question: If I have hundreds of JOLT clients accessing Tux services behind a firewall, can/should I load balance across multiple JRLYs? Has anyone done this with a Cisco, F5 or other load balancer? Or have you instead just tinkered with the "ap