Migrating Btrieve Applications to Microsoft SQL Server

Matt Domo
Microsoft Corporation

August 1997

Click to open or copy the sample files associated with this technical article.

Introduction

Many database application vendors find their products at a critical point in the product life cycle. They have released several versions using indexed sequential access method (ISAM) based database management systems (DBMS) like Btrieve with a solid level of success. However, due to rapidly expanding customer needs and the powerful product capabilities of today's DBMS offerings, many vendors are now converting their applications to different database platforms. Most of these vendors are converting applications to relational database management systems (RDBMS) to take advantage of the enhanced features and capabilities they provide. Applications based on an RDBMS offer better performance and are more versatile than ISAM-based solutions because they offer better scalability, can handle many more users, and are designed to handle databases that vary in size from a few megabytes to several hundred gigabytes.

Microsoft® SQL Server™ is one of the most powerful and flexible RDBMSs available. Its ease of use and advanced features make it an attractive solution for the database application developer. This paper presents a strategy that will enable you to convert Btrieve applications to access Microsoft SQL Server. The strategy presents many of the features of Microsoft SQL Server that make it a high performance alternative to any ISAM platform. While the Btrieve platform is the main focus of this paper, many of the concepts can be applied to any ISAM-based application.

Development and Application Platforms

For clarity and ease of presentation, the reference development and application platforms are assumed to be Microsoft Visual C++® and Microsoft Windows NT® or Microsoft Windows® 95. The Btrieve function and DLL references throughout this document reflect this assumption. However, these techniques can also be applied to other compilers that create Microsoft Windows applications.

Examples from the pubs Database

Several tables from the Microsoft SQL Server pubs sample database are used in both the sample applications and sample code referenced in this paper. These tables were chosen because they are readily available to any SQL Server user and because their structure and entity relationships are presented in the SQL Server documentation.

Sample Application and Code References

The following sample applications and wrapper DLL are referenced and included with this paper.