In the Real World Why Learn ADO Programming?As observed in Chapter 4, "Exploring Relational Database Theory and Practice," "Everything has to be somewhere" is a popular corollary of the Law of Conservation of Matter. So just about everything you need to know about ADO 2.x and OLE DB is concentrated in this chapter. The problem with this "laundry list" approach to describing a set of data-related objects is that readers are likely to doze off in mid-chapter. If you've gotten this far (and have at least scanned the intervening code and tables), you probably surmised that ADO is more than just a replacement for DAO it's a relatively new and expansive approach to database connectivity. The most important reason to become an accomplished ADO programmer is to create Web-based database applications. Microsoft designed OLE DB and ADO expressly for HTML- and XML-based applications, such as DAP the subject of the three chapters of Part VI, "Publishing Data to Intranets and the Internet." You can use VBScript or JScript (Microsoft's variant of ECMAScript) to open and manipulate ADO Connection, Command, and Recordset objects on Web pages. With DAO, you're stuck with conventional Access applications that require users to have a copy of Office 2003 or you to supply runtime versions of your Access 2003 applications. Another incentive for becoming ADO-proficient is migrating from Jet 4.0 to ADP and SQL Server back ends. When SQL Server marketing honchos say that SQL Server is Microsoft's "strategic database direction," believe them. Jet still isn't dead, but the handwriting is on the wall; ultimately SQL Server will replace Jet in all but the most trivial database applications. The ADO 2.7 documentation on MSDN states that "Microsoft has deprecated the Microsoft Jet Engine, and plans no new releases or service packs for this component." SQL Server 2000 Standard Edition and MSDE 2000 dominate the "sweet spot" of the client/server RDBMS market small- to mid-size firms plus division-level intranets of the Fortune 1000. SQL Server Enterprise and DataCenter editions are making inroads on Oracle's and IBM's share of the enterprise RDBMS market. Note Microsoft's intention might have been to release no new service packs (SPs) for Jet 4.0, but Access 2003 required a new Jet 4.0 SP7 to support macro security and "sandbox" mode. Microsoft released .NET Framework 1.0 and Visual Studio .NET on February 13, 2002. ADO.NET now is Microsoft's strategic data access approach. Word and Excel are the only members of Office 2003 to integrate Visual Basic .NET, C#, J#, and other .NET Common Language Runtime-compliant programming languages as alternatives to VBA. As mentioned in earlier chapters, moving from VBA to object-oriented programming with Visual Basic .NET is challenging for most Office developers and overwhelming for Access power users. It's a good bet that VBA will dominate Office-related programming for at least the next five years. .NET Framework 1.0 and 1.1 include managed (native) .NET data providers only for SQL Server and Oracle 7.3x databases, and managed wrappers for OLE DB and ODBC. (The Oracle provider offers "limited support for Oracle 8x.") IBM offers a .NET managed provider for DB2. Until other RDBMS vendors such as MySQL AB and Sybase write native .NET providers for their databases, Visual Studio .NET programmers must rely on OLE DB, ADO and .NET's COM interoperability (COM interop) layer to connect to other popular RDBMSs. Thus, OLE DB and ADO are likely to remain in widespread use through at least the first decade of the twentieth century. The ultimate answer to "Why learn ADO programming?", however, is "Microsoft wants YOU to use ADO until you move to .NET." Like the proverbial one-ton gorilla, Microsoft usually gets what it wants, but it will take more than chest-thumping and bellowing to convince today's VBA programmers to take on the challenge of Visual Basic .NET and ADO.NET. |