Showing posts with label Upsizing Wizard. Show all posts
Showing posts with label Upsizing Wizard. Show all posts

Wednesday, December 28, 2022

Upsize VFP Free Tables to SQL Server

The VFPX Upsizing Wizard allows you to upsize the tables in a database container to a SQL Server database. It can be used visually by running UpsizingWizard.app or programmatically; see TestEngine.prg that comes with the Upsizing Wizard for an example.

One thing the Upsizing Wizard doesn't do is support free tables. The new Upsizer utility gives the Upsizing Wizard the ability to do that. I've used it on decent sized data sets (more than 100 tables with 10 GB of data total) and it works very well. One thing I like is that I can run it over and over to upsize to the same database; that allows me to refresh the SQL Server database with changes in the VFP data while we work on upsizing a VFP application.

Tuesday, December 27, 2022

Updated Upsizing Wizard

I released an update for the Upsizing Wizard that fixes a few bugs and adds some new features. Some of these were suggested by Rick Borup in his Switching to SQL Server session at Virtual Fox Fest 2022 (October), including:

  • Optionally creating default values for all columns so fields that don't allow nulls and aren't listed in an INSERT statement don't prevent the statement from executing.
  • Optionally exporting table and field comments to the MS_Description extended property.
  • Using Varchar(max) rather than Text as the default mapping for Memo.

See the 2022.12.27 section of the Releases section of the Upsizing Wizard VFPX repository for details on all changes.

You can install the new version by cloning the repository, downloading the files from the repository, or using Thor Check for Updates.

And stay tuned: later this week, I'm going to release a new tool that extends the Upsizing Wizard to support free tables and uses SQL Bulk Copy for even better upsizing performance.

Monday, November 14, 2022

Bulk Copying VFP Data to SQL Server

The VFP Upsizing Wizard does a great job of upsizing a VFP database to SQL Server. However, after doing the initial upsizing, you may wish to re-upload the content of one or more tables with doing a complete re-upsize. A new tool, SQLBulkCopy, available from https://github.com/DougHennig/SQLBulkCopy, is great for that.

Thursday, January 24, 2019

Update to VFPX Upsizing Wizard

I released an update to the VFPX Upsizing Wizard today. It has a couple of changes:

  • It handles large tables better. The bulk XML load process, which is by far the fastest way to upsize the records in a table, creates an XML file using CURSORTOXML and then uses the SQLXML COM object to process that file. With a large table, the XML file could be more than 2 GB, which causes CURSORTOXML to fail, so the Upsizing Wizard reverts to using a slower mechanism. In this update, the bulk XML load routine now processes large tables in batches so the XML file never gets bigger than about 1 GB.
  • It renames the built-in tables Keywords.dbf, ExprMap.dbf, and TypeMap.dbf to have an underscore prefix to avoid conflict with tables using those names in the database to be upsized (this was an issue someone ran into).

Note: since SQL Server 2008, the SQLXML module that supports bulk XML load is no longer automatically installed, so if you find bulk XML load isn’t being used, it may be because the COM object doesn’t exist. In that case, download it from https://docs.microsoft.com/en-us/sql/relational-databases/sqlxml/what-s-new-in-sqlxml-4-0-sp1?view=sql-server-2017.