Skip to the main content.
Downloads Try Thriftly
Downloads Try Thriftly
Group 762

Migrate and run DataFlex applications with Oracle, MS SQL Server, PostgreSQL, MySQL &  MariaDB.

flex2Crystal

Stuck in Crystal XI?  Upgrade and use the latest versions of Crystal Reports with DataFlex applications. 

BTR2SQL

Convert from Btrieve / P.SQL / Actian transactional engines to Oracle, MS SQL Server, and PostgreSQL

thriftly-1

Quickly build multi-protocol web services with the same API. Supports JSON-RPC, REST, SOAP,  Thrift, and gRPC.

 Group 671-1

 

Why Mertech?

1 min read

How do I know if I am using the Pervasive or Mertech Btrieve dll?

As one of the last steps in the migration process, you substitute the Pervasive Btrieve runtime dll (wbtrv32.dll or later version called w3btrv7.dll) with the Mertech runtime dll of the same name. The Mertech runtime dll codes the standard Btrieve operations so that they will work with the new SQL backend.

Note: A copy of the Pervasive dll is saved because many of the Pervasive tools require it.

Typically the Mertech version of the dll is placed in the directory with the application executable. If the dll is not placed in the directory with the application, it must be placed somewhere it can be found using the standard Windows dll search:

    1. The current directory.
    2. The Windows system directory (GetSystemDirectory).
    3. The Windows directory (GetWindowsDirectory).
    4. The directories listed in the PATH environment variable.

You may want to know whether the Pervasive or Mertech version of the dll was loaded with your application. Or, perhaps you want to know which version of the Mertech driver was loaded, or what version of the SQL server is currently connected. The BTR2SQL SDK includes a function B_EXTENDED_VERSION that can do all of this. This function is used just like any other BTRCALL. Below is C++ code that shows how to use B_EXTENDED_VERSION:

MDS_VERSIONINFO mdsVersionInfo;


status = BTRCALL(B_EXTENDED_VERSION, NULL, &mdsVersionInfo, &(dataLen=sizeof(mdsVersionInfo)), NULL, 0, MDS_VERSION_OF_DRIVER);

// If the Pervasive dll is loaded, INVALID_FUNCTION (1) is returned
if (status == B_NO_ERROR)
cout << "Mertech driver version for " << mdsVersionInfo.originalDllName << ": " << mdsVersionInfo.versionString << endl;
else
cerr << "Status " << status << " returned from B_EXTENDED_VERSION" << endl;


For additional information on the BTR2SQL SDK see the BTR2SQL User's Guide or the blog article titled The BTR2SQL SDK

 

Legacy Application Modernization: Key Steps, Benefits & Best Practices

Legacy Application Modernization: Key Steps, Benefits & Best Practices

This blog post was co-authored with Riaz Merchant, President and CEO at Mertech. In the fast-paced software world, 'legacy' often signals a warning.

Read More
Hybrid Cloud Migration: Plan, Process and Advantages

Hybrid Cloud Migration: Plan, Process and Advantages

This post was co-authored with Riaz Merchant, President/CEO at Mertech Data Systems, Inc.

Read More
Financial Benefits of Cloud Migration & Hybrid Cloud Applications

Financial Benefits of Cloud Migration & Hybrid Cloud Applications

Shifting from your traditional legacy systems to the Cloud can be a game changer, as the benefits of cloud migration are numerous. Cloud computing...

Read More