MySQL for Excel Release Notes

11 Changes in MySQL for Excel 1.2.1 (2014-03-26)

Known limitation / upgrade requirement:

You must uninstall all current versions of MySQL for Excel before performing this upgrade, due to a bug that prevented upgrading from previous versions. This applies to both the standalone and MySQL Installer installation methods, and the fix allows for simpler upgrades in the future. Your MySQL for Excel settings will be preserved.

Functionality Added or Changed

  • When MySQL Workbench is not installed, MySQL connections are now automatically created for discovered MySQL services. If MySQL Workbench is later installed, these connections are not migrated over to MySQL Workbench as MySQL Workbench also creates connections for discovered MySQL services. (Bug #16238788)

Bugs Fixed

  • With Microsoft Excel 2013, closing an Excel window containing an open MySQL for Excel add-in did not properly dispose of the link to the add-in, which caused a delay when opening the add-in inside additional Excel windows. (Bug #18392674)

  • Attempts to upgrade MySQL for Excel failed. The Installer would attempt to add Registry keys that were already present from a previous installation. A workaround was to uninstall and then reinstall the add-in.

    This bug applies to the standalone and MySQL Installer installation methods, and to MySQL for Excel versions 1.1.3 and later. (Bug #18354533)

  • Executing Export Data while the first data column was not numeric would cause an "AutoPK" column (Automatically create a Primary Key) to be created as the first column in the table. This column was also created if the user manually selected the Add a Primary Key column radio button. The generated CREATE TABLE statement did not contain the AutoPK column. (Bug #18269654)

  • The Export Data operation failed when checking the Exclude Column check box for any column. The generated CREATE TABLE query did not show the excluded columns, but the generated INSERT statements did (incorrectly) include them. (Bug #18269602)

  • The Remove columns that contain no data, otherwise just flag them as "Excluded" option was removed from the Export Data Advanced Options preference panel. Now, the default behavior is to always remove empty columns from the calculations. (Bug #18113057)

  • A MySQL database with unique keys would sometimes fail to import, when executing Import MySQL Data. (Bug #17891357, Bug #71004)

  • The creation of named tables did not function in all cases during an import, and could generate an exception. (Bug #17806468, Bug #70925)

  • After creating a new stored mapping in the Append Data dialog, the default selection for the Stored Mapping drop-down list was a blank value. The new default is the newly created stored mapping. (Bug #17665496)

  • Exporting large table (250,000+ rows) would not function, as MySQL for Excel would disconnect from the MySQL Server before completion. The MySQL for Excel add-in was optimized to help with these use cases, and these changes include:

    • Optimized the way SQL statements are sent to the server. When compared to statements sent in version 1.2.0, a 30-35% time improvement was achieved.

    • Optimized the way SQL queries are created for a modified row, by processing the warnings returned by the MySQL server and the overall creation of result text for errors and warnings to optimize processing and reduce the memory usage. On average, a 30-40% time improvement was achieved.

    • Optimized how the Excel data is loaded into the MySqlDataTable object, so now a temporary (and hidden) Excel worksheet is used to prepare the data to be loaded, and then it is loaded after it was preprocessed instead of preprocessing cell-by-cell as it was done before. This preprocessing also eliminates many blank Excel cells. On average, an 80% time improvement was achieved.

    • Added an advanced option to the Export Data dialog to create secondary indexes after all of the data has been inserted. This saves disk I/O for bulk inserts (thousands of rows) since reindexing will not happen every time a row is inserted, but only once at the end of the data insertion. This option is enabled by default.

    • Added an advanced option to the Append Data dialog to temporarily disable unique indexes and foreign keys for the duration of the data insertion. This option is disabled by default, since you must make sure that if unique indexes are present, that the data mapped to that column does not contain duplicate data.

    • Added checks for lost or broken connections before each statement is executed against the database, and will now properly display connection issues back to the user.

    • The global option Wait XX seconds for a database query to execute before timing out is now setting the net_write_timeout and net_read_timeout accordingly. The default value for this option was increased from 30 to 60 seconds.

    (Bug #17577014)

  • When performing an Export Data with the "Remove columns that contain no data, otherwise flag them as Excluded" advanced option disabled (unchecked), empty columns were not flagged as "Excluded" if the first row contained data, even when the first row contained header information. (Bug #16501338)

  • When mapping a source column to a target column that has a different data type, a visual warning is now displayed as a warning icon with associated text next to it, and the problematic grid column changes to red. (Bug #16238994)

  • On Windows XP, the table icons were cut off on the Database Objects list when tables were exported to an empty schema. (Bug #16238484)

  • When selecting all cells in a spreadsheet, MySQL for Excel attempted to compute if data was present in each cell. Due to the large number of cells, the Excel API component "VSTO" failed and return a Range.Count property related exception. This check now uses native Excel functions, which are optimized for speed less memory usage. (Bug #14362824, Bug #17349260)