Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Release Notes for BTR2SQL v5.2 New Features Introduced in v5.2 The key new features in BTR2SQL v5.2 include full support for Microsoft SQL Server 2014, LocalDB, MySQL 5.7, Oracle 12c, and PostgreSQL 9.4, as well as new and improved commandline migration tools and APIs. MSSQL MS SQL Server 2014 provides options for deploying database solutions both on-premise and in the cloud with Windows Azure, new in-memory transaction processing capabilities, and much more. LocalDB is a simplified version of SQL Server that targets developers and single user installations. LocalDB is easy to install and requires no management. LocalDB allows developers to specify a database file location. Developers can then distribute a database as standard files by detaching the database from LocalDB or Express server, copy the database files to another computer, and attach them using that computer’s LocalDB installation. To provide support for LocalDB, BTR2SQL v5.2 updated the BTR2SQL GUI Select Database dialog box and added new commands to the SDK. MYSQL MySQL 5.7 has improved its capabilities for working with 64-core servers, which in turn enables faster performance and increases the number of database connect and disconnect actions allowable within a specific time period. These are useful for large web applications. DATETIME and TIMESTAMP fields are no longer stored as fixed length strings. These data types are now stored as their associated SQL type, by combining time of day with fractional seconds. The GUI Migration Utility supports DATETIME and TIMESTAMP types in the Data Types Mapping and Convert File screens. Note: Requires MySQL client library version 5.6.4 or above be installed. 8-byte integer fields map to the BigInt SQL type by default (instead of Binary). This is faster and displays better in SQL tables. If the Integer(8) field is a descending index and all 64 bits are required, the SQL type should be changed from BigInt to Binary. A sample mds_app_lock.ini file can be found in the installation folder: <Program Files>\Mertech Data Systems\DB Drivers\Btrieve\deploy\mysql. -1- ORACLE Oracle 12c has a multi-tenant architecture that simplifies the process of consolidating databases onto the cloud; enabling customers to manage many databases as one, without changing their applications. The extremely small namespace Oracle allowed in the DBMS_LOCK package (30 bits) can lead to a lock conflict. A custom lock package is provided, expanding the namespace; this should eliminate false lock errors. POSTGRESQL PostgreSQL 9.4 includes many improvements, such as better JSON functionality and writable external data. GUI MIGRATION UTILITY Attach and detach options were added to the BTR2SQL GUI Select Database dialog box to allow users to specify the database file location in MSSQL. The migration tool now displays an error message when you login if the installed libmysql version does not match the version expected by the MySQL driver. COMMAND-LINE MIGRATION TOOLS A new command-line tool, MdsMigrateFile, is installed. MdsMigrateFile can be used to migrate Btrieve files when DDFs are not available. Several improvements have been made to the MigrateUniPassData command-line tool, which performs migrations for Magic applications: a) An error message is displayed if the magic.ini file cannot be located. b) "Size" is retrieved from the physical section if it is not found in the XML for a field. c) "Location" is supported in the database definition. d) CLOB fields (XML type 33) are supported. e) The "owner name" can now be provided for a Btrieve file that requires it. f) A sample MigrateUniPaasData.ini file can be found in the installation folder: <Program Files>\Mertech Data Systems\DB Drivers\Btrieve\bin. All command-line tools now contain a version date. -2- APIS New APIs, MdsSetSetting and MdsGetSetting, are available to programmatically set and retrieve global (mds_global.ini) and folder specific (mds.ini) settings. The Btrieve APIs B_RENAME_FILE and B_DELETE_FILE are supported. B_RENAME_FILE renames the local INT file. B_DELETE_FILE drops the server table and deletes the local INT file. Support added for NextInChunk and AppendToChunk sub functions of the B_GET_DIRECT and B_CHUNK_UPDATE functions. When B_UPDATE or B_DELETE are called, a Status 80 is returned if any of the fields has changed since the last read. GENERAL A new setting in mds_global.ini, PERVASIVE_DLL_NAME, allows you to specify the name and optionally the path of the Btrieve access dll to be used for reading Btrieve data during migration (defaults to wbtrv32.dll). The default for the IDENTIFIER_CASE setting was changed from "Upper" to "Original". (MSSQL and Oracle) Shortcuts were added for easy access to the deployment folder (where the Btrieve replacement dlls are located) and to the SDK. DOCUMENTATION New blog posts and white papers are available to describe multi-migration scenarios. User guide updated to clarify how AutoInc fields are handled. Additional indexes were added to the User Guide. Examples to show how to use Embedded SQL to create and drop databases and users are provided in sdk\Samples\MdsApis\C\MdsApiSamples.cpp. -3- Issues Fixed in v5.2 The following issues are resolved in the BTR2SQL v5.2 release. MSSQL Improved float and date/time conversion algorithms were implemented. An issue that occurs when duplicate table names exist across multiple databases is resolved. MYSQL User guide updated to include a note that the correct 32-bit or 64-bit version of libmysql.dll must be available on the system PATH. 8-byte binary values now work properly. A high value timestamp (for example, 9999-12-31 23:59:59.999000) is now handled correctly for all time zones. A duplicate table error no longer occurs if you migrate a table that does not have an underscore in the name (for example, abcd) and subsequently migrate a table with the same name but containing an underscore (for example, ab_cd). A BINARY(500) field is mapped to a VARBINARY(), or equivalent BLOB field. ORACLE Max cursors exceeded handled properly. Binary columns larger than 255 and smaller than 2000 are migrated as Raw instead of BLOB. User now prompted for the SYS password to create the mds_session_info view if it does not already exist, eliminating the error message to grant select rights on V$SESSION. The problem of some tables being created under the SYS user has been fixed. The issue causing error "ORA-01460: unimplemented or unreasonable conversion requested" has been fixed. POSTGRESQL Btrieve supports AutoInc keys where the values are automatically assigned when a new record is inserted. The application can also choose to assign its own value. This feature is properly supported when manual values are entered. AutoInc columns are correctly renamed when a table is renamed using MdsRenameTable. -4- Login to a non-existent database now returns B_ERR_LOGIN_FAILED_BAD_DATABASE instead of B_ERR_INVALID_USERNAME. MDS_RECNUM updated with the highest assigned sequence number after the migration process completes to avoid duplicated records on this column. GUI MIGRATION UTILITY Browsing SQL data after conversion works properly in MySQL and PostgreSQL. No error occurs if the user attempts to convert a database a second time. Drop-down database list now fully populated in the PostgreSQL Login dialog box. GENERAL B_CREATE now supports True-Null indexes. Expired license handled properly. There is proper support for B_CHUNK_OFFSET_TOO_LONG, Return Code103. (MySQL, Oracle and PostgreSQL) BTR2SQL properly installs on Windows XP. Migration using OemToAnsi works properly when a European location is selected in regional settings. Warning of pending license expiration will only be displayed once per day and only when the expiration date is thirty days or less. An exception error that occurred after a B_SET_DIR is fixed. An exception error that occurred during B_BUILD_INDEX is fixed. Magic Int Date and Number type issues are fixed. B_CREATE now handles indexes with overlapping fields. Performance issues with GetNext and GetNextExt are fixed. DOCUMENTATION SERVER_SIDE_LOCKING spelling error fixed in online Help. Missing information describing the use of Filegroups has been added to the User Guide. HTML-based developer documentation updated. -5-