Showing posts with label DB2. Show all posts
Showing posts with label DB2. Show all posts

Friday, June 01, 2007

IBM and Oracle to Support the ADO.NET Entity Framework

Microsoft's two three major relational database management system (RDBMS) competitors—IBM, Oracle, and MySQL—have announced plans to support the ADO.NET Entity Framework.

Update 6/15/2007: David Sceppa reports in his TechEd: Provider Writers Talk About the Entity Framework post that IBM "demonstrated an early build of their provider working with the 101 LINQ to Entities samples." MySQL missed the session "due to scheduling problems but they are still very much involved."

Update 6/16/2007: Mike Pizzo expands on David Sceppa's report with brief details of Tech*Ed's DAT04-TLC ADO.NET Entity Framework: Provider Model and Integration with Third-Party Databases presentations by DataDirect Technologies, Sybase, Oracle, and VistaDB in his Database Vendors Discuss the Entity Framework and LINQ at TechEd post of 6/15/2007 in the ADO.NET blog. As far as I can determine, this is the first mention of Sybase as participant in the EntityClient provider program. Mike also confirmed IBM's intention to add EntityClient and LINQ support to their Informix ADO.NET Data Provider.

IBM

From my Future LINQ to SQL Support for Multiple Databases? post: According to the April 2007 "Looking to LINQ" story in Redmond Developer News:

Microsoft is working with other database vendors to build interoperability into their repositories as well. Oracle Corp. officials would only say they're monitoring LINQ's progress, but IBM Corp. says it plans to support LINQ in both its DB2 database and the Informix IDS platform.

Curt Cotner, an IBM Fellow and CTO for database servers, says LINQ could very well be critical in eliminating the fragmentation that exists today among programmers and database developers. Still, Cotner expects LINQ to have its share of both ardent supporters and critical detractors. "It's going to be popular for a significant segment of customers, but there will be another segment that will see it as not down the path they're trying to follow," he says. ...

But Cotner doesn't see [the Java Persistence API,] JPA and LINQ as competing specifications per se. "It addresses a different segment of the population," he says. And frankly, he admits from a developer standpoint, JPA can't touch LINQ in terms of its ability to build native queries into code from the language and development environment.

Supporting LINQ in a third-party RDBMS implies writing a custom EntityClient provider, as mentioned by Elisa Johnson, Program Manager, Microsoft Data Programmability in an April 23, 2007 comment in the ADO.NET Team's ADO.NET Entity Framework - Orcas Beta 1 post:

We are working closely with many DB vendors, including IBM, to help them update their ADO.NET providers to support the Entity Framework. Unfortunately, I do not have any information as to when they may release a new provider.

David Sceppa, an ADO.NET program manager and author of Programming Microsoft ADO.NET 2.0 Core Reference, refers to Tech*Ed's "ADO.NET Entity Framework: Provider Model and Integration with Third-Party Databases" chalktalk in this May 25, 2007 Entity Framework Provider Talk at TechEd post:

I’m pleased to say that DataDirect, IBM and others will be in attendance to talk about the work they’re doing to add support for the Entity Framework to their ADO.NET providers.

  • DataDirect will discuss heterogeneous data sources in an Entity Framework environment, the importance of best of class ADO.NET providers as an essential component for the Entity Framework and present a use case on a how to ensure a successful Entity Framework development and deployment cycle.

  • IBM will talk about their investments to support the Entity Framework for their Data Servers and to demonstrate an early build of their provider working with the Entity Framework.

ORACLE

Christian Shay, Product Manager in the .NET and Windows group at Oracle left this comment to the Future LINQ to SQL Support for Multiple Databases? post on May 31, 2007:

I think Oracle is keeping their level of support secret. But, a clue has just been revealed and apparently, more will be known at TechEd. Oracle is co-presenting a talk called "ADO.NET Entity Framework: Provider Model and Integration with Third-Party Databases" Check it out: http://cshay.blogspot.com/2007_05_01_archive.html.

So it's now clear that Oracle is doing more than "monitoring LINQ's progress."

MySQL

Update 6/2/2007: According to Mike Pizzo, the ADO.NET architect who's leading the chalk talk:

We have had two “ProviderFests” where vendors have come to Redmond for a week at a time to extend and test their providers with the latest Entity Framework bits and give us feedback. SQLite has already posted a version of their provider that works with the Entity Framework beta, and IBM, DataDirect, Oracle and MySQL will all join me for a chalk talk at TechEd on Friday to discuss their experiences extending their providers for the Entity Framework.

Hopefully, Sybase and the PostgreSQL folks will join the EF bandwagon before long.

 

Embedded RDBMSes

David Sceppa added the ADO.NET Orcas: Sample Provider post to the ADO.NET Team blog on March 16, 2007. The entry begins:

Last month, the ADO.NET team hosted a number of ADO.NET Data Provider writers on campus to present information on how to enhance an existing provider to support the Entity Framework features in the upcoming Orcas release.

David's ADO.NET vNext Provider Writer Event Summary post of August 25, 2006, mentions that representatives from DataDirect, IBM, MySQL, SQLite, and Sybase attended the event.

SQLite

PHX Software's Robert Simpson announced on September 6, 2006 a preview release of an "ADO.NET vNext" provider for SQLite and wrote about the conference in this ADO.NET Entity Framework blog. (Google uses SQLite as the embedded database for Google Gears.)

VistaDB

VistaDB Software, Inc. announced the intent to support LINQ in a future version of VistaDB. VistaDB 3 is an embedded SQL database for .NET, the .NET Compact Framework, and Mono that supports datatypes compatible with SQL Server 2005 (except xml) and uses T-SQL syntax. Jason Short wrote in an April 7, 2007 "LINQ and VistaDB" blog post:

I feel quite strongly that LINQ support in the future will be a vital feature of VistaDB. Since we are already a fully managed database for Dot Net, the ability to make fully type safe queries will definitely set us apart from other database systems. And the fact that we will not have to drop to SQL code to perform that queries will mean a faster running database as well (and that is what you really wanted to hear, right?). ...

LINQ support is on the list for research right now. When will [w]e release it? I don’t know. I would really like to hear from you about your plans to support LINQ. I think it is quite obvious that LINQ is going to change the way a lot of applications are written to query their database.

SQL Server Compact Edition

SSCE has an EntityClient provider, but it doesn't appear to work in Orcas Beta 1.

(The preceding content, except the new Oracle and Tech*Ed session information, is repurposed from my Future LINQ to SQL Support for Multiple Databases? post.)

Thursday, April 19, 2007

Future LINQ to SQL Support for Multiple Databases?

In my recent tests of the Orcas March 2007 CTP's implementation of LINQ to SQL and the Object/Relational Designer, I tried substituting connection strings to SQL Server Compact Edition (SSCE) and Oracle 10g Express Edition with managed providers, and other databases with OLE DB drivers. Most resulted in "unsupported product" messages and all threw exceptions when attempting to open a connection with the DataContext object. One DataContext constructor accepts an IDbConnection object, which implies at least some degree of database independence.

SqlMetal.exe generates an XML external mapping file (NwindLINQ.xml for this example) that you can use in lieu of decorating entity classes with LINQ to SQL-specific attributes. This feature enables generating POCO (plain old CLR objects), which many developers prefer. The "LINQ to SQL: .NET Language-Integrated Query for Relational Data" white paper's "External Mapping" section indicates that the top-level <database> element of NwindLINQ.xml should have a ProviderType="System.Data.Linq.SqlClient.Sql2005Provider" attribute. It's missing from the mapping file I created with SqlMetal.exe, but it did point me to the System.Data.Linq.SqlClient namespace.

Inspecting SqlClient in Object Browser shows it contains about 167 classes having interesting names such as Funcletizer, which contains Friend Shared Function Funcletize(ByVal expression As System.Linq.Expressions.Expression) As System.Linq.Expressions.Expression. I remembered Funcletizer.Funcletize from Mike Taulty's blog and found it near the end of his Deconstructing LINQ to SQL (Part 2) post:

internal QueryInfo BuildQuery(Expression query, SqlNodeAnnotations annotations)
{
    this.CheckDispose();
    query = Funcletizer.Funcletize(query);
    QueryConverter converter = new QueryConverter(this.services, this.typeProvider, this.translator, this.sqlFactory);
    converter.ConverterStrategy = (this.Mode == ProviderMode.Sql2005) ? ConverterStrategy.SkipWithRowNumber : ConverterStrategy.Default;
    SqlNode node = converter.ConvertOuter(query);
    return this.BuildQuery(this.GetResultType(query), node, annotations);
}

You have to love the naming here :-) Note that the provider looks to have a SQL 2000 and a SQL 2005 mode on it which makes sense but I hadn't thought about it before even though I had thought that functions such as Take might use something 2000/2005 specific.

From there on in, it gets "really hard, really fast" or at least it did to me. From BuildQuery onwards there are a lot of classes (SqlSelect, SqlBinder, SqlRetyper, SqlMultiplexer, SqlFormatter and a whole lot more) that look to be involved in taking what we have as a tree and turning it into T-SQL.

It's obvious that it won't be a walk in the park to write the corresponding "really hard" extension code to implement another managed data provider and SQL flavor, such as Oracle PL/SQL or IBM DB2 SQL.

Update 4/21/2007: David Sceppa, an ADO.NET program manager and author of Programming Microsoft ADO.NET 2.0 Core Reference, posted ADO.NET Orcas: Sample Provider to the ADO.NET Team blog on March 16, 2007. The entry begins:

Last month, the ADO.NET team hosted a number of ADO.NET Data Provider writers on campus to present information on how to enhance an existing provider to support the Entity Framework features in the upcoming Orcas release. To help provider writers who were unable to attend, we’re publishing the material we presented to our team blog. In this blog post, you’ll find information about how to extend an existing provider. The blog also has a [Resources].zip attachment that contains the slide decks presented at the event, a help file that covers the CommandTree class, and the source code for a sample ADO.NET Data Provider.

The Resources.zip file contains OrcasSampleProvider.exe, but the source code snippets in "Extending an Existing Provider" specification don't appear to me to comprise the complete source code for an extended provider.

According to David's ADO.NET vNext Provider Writer Event Summary post of August 25, 2006, representatives from DataDirect, IBM, MySQL, SQLite, and Sybase attended the event. PHX Software's Robert Simpson writes about the conference in this short-term blog.

According to the April 2007 "Looking to LINQ" story in Redmond Developer News:

Microsoft is working with other database vendors to build interoperability into their repositories as well. Oracle Corp. officials would only say they're monitoring LINQ's progress, but IBM Corp. says it plans to support LINQ in both its DB2 database and the Informix IDS platform.

Curt Cotner, an IBM Fellow and CTO for database servers, says LINQ could very well be critical in eliminating the fragmentation that exists today among programmers and database developers. Still, Cotner expects LINQ to have its share of both ardent supporters and critical detractors. "It's going to be popular for a significant segment of customers, but there will be another segment that will see it as not down the path they're trying to follow," he says. ...

But Cotner doesn't see [the Java Persistence API,] JPA and LINQ as competing specifications per se. "It addresses a different segment of the population," he says. And frankly, he admits from a developer standpoint, JPA can't touch LINQ in terms of its ability to build native queries into code from the language and development environment.

VistaDB Software, Inc. announced the intent to support LINQ in a future version of VistaDB. VistaDB 3 is an embedded SQL database for .NET, the .NET Compact Framework, and Mono that supports datatypes compatible with SQL Server 2005 (except xml) and uses T-SQL syntax. Jason Short wrote in an April 7, 2007 "LINQ and VistaDB" blog post:

I feel quite strongly that LINQ support in the future will be a vital feature of VistaDB. Since we are already a fully managed database for Dot Net, the ability to make fully type safe queries will definitely set us apart from other database systems. And the fact that we will not have to drop to SQL code to perform that queries will mean a faster running database as well (and that is what you really wanted to hear, right?). ...

LINQ support is on the list for research right now. When will be release it? I don’t know. I would really like to hear from you about your plans to support LINQ. I think it is quite obvious that LINQ is going to change the way a lot of applications are written to query their database.

Update 5/16/2007: SQLite


I recalled seeing references to future support for databases other than SQL Server 200x [Express/MSDE], so I ran searches on "LINQ to SQL" Oracle, "LINQ to SQL" "Compact Edition", "LINQ to SQL" MySQL, etc. Here are the most topical responses I found from Microsoft folks (in chronological order):

Dinesh Kulkarni, LINQ to SQL Sr. Program Manager (6/15/2006, in answer to LINQ Project General forum request to "Compare DLINQ, NHibernate and Typed DataSet"):

Out of the box, [LINQ to SQL] will support SQL Server 2000/2005 but will be usable with other databases once providers for those databases are available.

Scott Guthrie, a general manager in the Microsoft Developer Division (1/28/2007, response to a blog comment re LINQ to SQL support for Oracle and MySQL):

"LINQ has a provider model, which will allow other databases to be plugged-in. So you could add support for both Oracle and MySql."

Steve Lasker, SQL Server Compact Edition program manager (3/1/2007, reply to blog comment):

We don't yet have a LINQ to SQL (DLINQ), but we do have ADO.NET V3 Entities working over SQLce. If you install the Sync Services CTP, you'll see we install a Entity dll for SQLce as well. This CTP isn't directly compatible with the Orcas Feb CTP, so don't expect to do anything with it just yet. It's possible the Feb CTP that was just released would enable Entities over SQLce, but I have to check to see what made it into that build.

Terry Adams, LINQ to SQL development lead (3/29/2007, LINQ Project General forum):

"LINQ to SQL does not currently support Oracle clients."

A Microsoft program manager (4/2/2007, private correspondence):

"Our Orcas plans do not include 'LINQ to SQL' Server Compact Edition in Orcas. LINQ to SQL is only SQL Server."

Matt Warren, Microsoft product manager for LINQ to SQL (4/12/2007, response to Julie Lerman's post in the LINQ Project General forum about LINQ to SQL being for SQL Server only):

LINQ to SQL actually stands for LINQ to 'databases that use SQL' or in other words LINQ for the relational data model. LINQ to Entities means LINQ for the Entity-Data-Model which is a kind of a relational++ model.

Dinesh Kulkarni, LINQ to SQL Sr. Program Manager (4/13/2007, Microsoft Connect feedback re use of IDbConnection to create a DataContext, resolved as "Postponed"):

"Thanks for your interest in the LINQ project and feedback. Support for other providers indeed is a very important area that we are looking into. Because of schedule reasons, we were not able to fit it in V1.

"As for OLEDB/ODBC, the problem is that these standards really don't fully address the semantic differences between SQL dialects and database type systems. So I suspect that we will have to emphasize managed ADO.NET providers (e.g. Oracle provider, DB2 provider etc.) over ODBC/OLEDB. Unlike in case of ADO.NET v2 APIs where the user decides the SQL semantics by creating appropriate string, LINQ to SQL (aka DLinq) has to understand the semantics of the generated string. Hence, we need separate providers that understand the corresponding SQL flavor and type system.

"That said, there may be enough value in handling a common subset. However, such a 'generic' provider will likely have limitations."

Keith Farmer, (4/18/2007, LINQ Project General forum response to my post about LINQ to SQL dependency on SQLClient):

Actually, LINQ to SQL is rather decoupled internally. Between scheduling and other external factors, however, we've only been able to show you a SQL Server provider.

Dinesh Kulkarni (4/19/2007, Microsoft Connect feedback answer to a follow-up question about using third-party managed .NET data providers with LINQ):

"Unfortunately we haven't had enough time to do a provider SDK or even a public provider API in Orcas. This is definitely a high priority post-Orcas release item for us. Thanks again for your feedback."

Update 4/27/2007: Elisa Johnson, Program Manager, Microsoft Data Programmability (4/23/2007, comment in the ADO.NET Team's ADO.NET Entity Framework - Orcas Beta 1 post):

We are working closely with many DB vendors, including IBM, to help them update their ADO.NET providers to support the Entity Framework. Unfortunately, I do not have any information as to when they may release a new provider.

Update: 5/7/2007: Jay Hickerson of the Visual Basic Team responding to a LINQ Project General forum question about the purpose of the O/R Provider property of LINQ to SQL's DataContext object:

The O/R Provider was originally placed there so that we could generate code that would work correctly with databases other than MS SQL Server at runtime. However, the runtime support for this did not materialize in time to get it into the designer for Orcas. The property has been removed for Beta 2 and there will not be support for different providers from the designer. We are considering adding some level of support back in a future release, possibly a service pack.


I doubt that the ADO.NET team would devote the resources necessary to port LINQ to SQL to competing RDBMSs, especially those for which Microsoft and the database vendor have released managed .NET providers, such as Oracle, but also encompassing products such as IBM DB2 9 and VistaDB 3.0 for which managed data providers are available from the vendor RDBS only.

Presumably, the Entity Framework (EF), which was designed from the get-go as the foundation of database-agnostic O/RM, and LINQ to Entities is the solution for Oracle, DB2, Informix IDS, and PostgreSQL. The ADO.NET team is supporting developers with extending providers for the EF's CommandTree class, which isn't likely to be the same as that for LINQ to SQL. However, the EF and LINQ to Entities seems to me to be overkill for embedded and other lighter-weight RDBMSs such as SSCE, VistaDB 3, MySQL, and Firebird (formerly Interbase). These databases are more likely to be used in projects with simpler object graphs that match the underlying persistence database's schema.

I'm not sanguine about the prospects for a future "provider SDK or even a public provider API" for LINQ to SQL from Microsoft. A future Microsoft LINQ to SQL provider for SSCE might arrive, but SSCE already has a LINQ to Entities provider that, hopefully, will be operable in Beta 1.

I think it's a good bet that an IBM DB2 LINQ to SQL EntityClient provider will arrive around the same date as the Orcas RTM in 2008H1 (?) that Microsoft finally releases EF and its components. I'm not holding my breath for the announcement of an EntityClient provider from Oracle.

Update 4/29/2007: Corrected spelling of Keith Farmer's first name, error, and rescheduled EF delivery date in the preceding (last) paragraph.

Monday, December 18, 2006

Is Beta SQL Server Express SP2 for Vista an Issue?

The CNNMoney.com site published Business 2.0 magazine writer Owen Thomas's December 15, 2006 "Vista flaw could haunt Microsoft" article with this deck:

"Microsoft wants a bigger piece of Oracle and IBM's database business, but an oversight in its new operating system could cost the company plenty."

The upshot of the article? SQL Server 2005 Express Edition (SSX) isn't licensed to run today on Windows Vista desktops, so Microsoft loses bigtime. Here are bullet points for the article's primary assertions:

  • "A company that deftly moved from strength to strength, leveraging its dominance in one area of software to command other parts of the tech business ... is long gone, folks."
  • Microsoft "has lost its Midas Touch ... in [i]ts bid for a bigger piece of the $14 billion database business, a sector now ruled by Oracle and IBM."
  • [C]ompanies looking to install Vista, which went on sale to corporate customers Nov. 30, are going to have to get their database management software someplace else.
  • "IBM has beaten Microsoft to the punch. Last week management software, called DB2 9 Express-C, that's compatible with Vista.IBM released a desktop version of its competing database." [Emphasis added.]
  • Google "is beating Microsoft in other arenas ... [because Microsoft] has forgotten how to execute its own playbook of launching a coordinated wave of products that all work together."
  • "Microsoft will get this straightened out - eventually. By then, it just might be time to launch another version of Windows."

The foregoing egregious example of breathless journalism begs these issues:

  • SSX SP-1, the current incarnation, is fully supported on Windows Vista, according to the December 19, 2006 "Inaccuracies in recent CNNMoney.com article about SQL Express and Windows Vista" post on Microsoft's SQL Server Express blog, the SQL 2005 Server Express Edition System Requirements page, and the SQL Server 2000 (including MSDE) on Windows Vista FAQ page. (Thanks to Microsoft's Mike Wachal for bringing this to my attention in this post's Comments.)
  • It's SSX with Advanced Features (SP) that isn't supported by Windows Vista. This SKU, which includes SQL Server Management Studio Express (SSMSX) and enables full-text search plus local SQL Server Reporting Services, currently is used primarily by developers and DBAs. These first two points effectively moot the remaining issues.
  • Deployment of SSX, Microsoft Data Engine (MSDE) 1.0, and Microsoft Desktop Engine (MSDE) 2000 for local data storage on desktops and laptops remains relatively uncommon. Jet 4.0, which is included in the Windows XP and Vista operating system and used by Access, Visual Basic 6.0/200x, and other .NET and COM-based front-end apps is a much more common back end than SQL Server.
  • The most common application for the three freely distributable SQL Server versions is as a multiuser back end for workgroup or divisional database applications that need more robustness, reliability, and scalability than Jet 4.0 offers. In this case, the back-end server almost always resides on a domain or workgroup server that isn't a candidate for a Vista desktop upgrade.
  • The cost of modifying client-side applications to run another "free" database, including moving the stored data and testing the resulting client/server reconfiguration, is astronomical compared to waiting briefly for the release version of SSX SP2 and its data management/support tools.
  • The only other sources of free client/server databases that come even close to matching SSX's capabilities are IBM and Oracle. IBM hadn't even released a technical preview of DB2 9 Express-C for Vista as of December 13, 2006 (They released a technical preview on December 19, 2006 at about 12:00 p.m., see below). As of December 18, 2006, Oracle hadn't made an announcement about the compatibility of Oracle Database 10g XE with Windows Vista (see below).
  • SSX with Advanced Services offers SSRS and FTS features; neither IBM DB2 9 Express-C or Oracle Database 10g XE include fully customized reporting or high-performance, indexed full-text search features.
  • I haven't seen reports of any significant problems incurred by upgrading MSDE 1.0 or 2000 databases to SSX running under Windows Vista. I've moved multi-GB database (.mdf/.ldf)files from MSDE 2000 to SSX under Vista without difficulty.
  • Windows Vista's official release date is January 30, 2007. Until then, judgements about Microsoft's loss of revenue from not releasing the RTM version of SSX SP2 are premature.

Full Disclosure: As mentioned in my profile to the right, I make a significant part of my living writing about Microsoft productivity applications, operating systems, database platforms, and new data-related technologies.

A Forthcoming "Technical Preview" of DB2 9 Express-C for Windows Vista: When?

IBM issued a December 7, 2006 press release that claimed DB2 9 Express-C was ready to run on Windows Vista. However, in a subsequent December 13, 2006 "DB2 Express-C on Vista!" post, the DB2 Express Community team's Ryan Chase said "[W]e will be providing a tech preview of DB2 Express-C on Vista before year end." [Emphasis added.] On December 19, 2002, the link to this page was the top item of the News section of IBM's main page for DB2 Express-C under the following graphic:

The full text of the "DB2 Express-C on Vista!" post is here, in case it disappears from the IBM site:

Hello,

Some of you may have seen the press already, for those that haven't, IBM has announced that DB2 Express-C on Vista will be available soon! We are ironing out the final bugs and doing some final testing as we speak, and we will be providing a tech preview of DB2 Express-C on Vista before year end. (I'm hoping it's much sooner, but I don't want to make promises I can't keep.)

This is a tech preview of the official Vista support in DB2 9, which will be coming very soon! (Stay tuned for official announcement info.)

Ryan Chase DB2 Express Community team

Ian Hakes, IBM DB2 UDB Express Community Facilitator, posted on December 19, 2006 at 12:32 p.m. a "See the view from the Vista" message on the IBM DB2 Express forum, announcing that the Vista-enabled version was now ready for download by registered IBM Website users. Here's the download description:

DB2 9 Express-C for Windows Vista on 32-bit AMD and Intel systems (x86) (Technology Preview) db2exc_91_WIN_Vista_x86.zip (350MB) [emphasis added]

According to an e-mail to me from Owen Thomas, as well as a comment to his December 15, 2006 "Vista's Database Failure" blog post on the subject, IBM said they had withdrawn the download for a bug fix and reinstated the download today (after the first set of today's updates were posted). However, he didn't mention in his article, comments, or the e-mail that the Vista-enabled version was a technology preview, not a fully released version.

It's doubtful that any rational IT executive would abandon SSX on a Vista upgrade for a promise that IBM might sometime deliver a DB2 9 Express-C Vista release—let alone a technology preview.

Most technology reporters I know look beyond press releases to verify a new or upgraded product's status.

Note: DB2 9 Express-C has the fewest operating restrictions of the three Express products: "DB2 Express-C can be run on up to 2 dual-core CPU servers, with up to 4 GB of memory, any storage system setup and with no restrictions on database size or any other artificial restrictions." The license agreement confirms these two restrictions.

Subsequent DB2 9.1 Express-C installation: On December 19, 2006, I installed DB2 9 Express-C for Windows Vista on a Gateway S-5200D system with a 2.8-GHz Intel Pentium D(ual Core) processor, 2 GB RAM, and an nVidia GeForce 6600 GPU with 256 MB RAM. The installation process threw an 'ADM10500E Health indicator "Monitor Heap Utilization" ("db2.mon_heap_util") breached the "upper" alarm threshold of "95 %" with value "100 %" on "instance" "DB2"' error, several 'Faulting application db2InstallEventLog.exe, version 9.1.100.164, time stamp 0x457d788d' errors, and many warnings but ran to completion. During operation, the Java Launcher throws "The color scheme has changed" notices on startup. It appears to me that the Technical Preview needs a few warts removed.

IBM DB2 Add-In for Visual Studio 2005 installation: I also installed and confirmed compatibility of the IBM DB2 Add-In for Visual Studio 2005 with the Visual Studio 2005 Service Pack 1 Update for Windows Vista Beta. I connected to my DB2 instance with my Domain Admins account with the native IBM DB2 Data Provider for .NET Framework 2.0, created a Data Source from the SAMPLE database's PRODUCT and INVENTORY tables, and tested DataGridView and details data entry forms.

Note: Microsoft released VS 2005 SP1 for other platforms on December 14, 2006.

No Oracle Database 10g XE Support for Windows Vista

Oracle Database XE System Requirements state that Oracle XE supports "[o]ne of the following 32-bit Windows operating systems:

  • Windows 2000 Service Pack 4 or later
  • Windows Server 2003
  • Windows XP Professional Service Pack 1 or later"

The only reference to Oracle support for Windows Vista I've been able to find is his vague statement from Tom Haunert in the special 2006 Windows edition of Oracle Magazine: "Oracle is working with Windows Vista and other Microsoft technologies today in order to provide Oracle customers with new solutions for Windows tomorrow."

Note: Oracle XE's minimum server component diskspace requirement is 1.6GB, making the product impractical for use as a client-side data store. Clients also require installing the 75-MB client component.

My Experiences with the SSX SP2 November 2006 CTP for Windows Vista

I installed the Windows Vista Ultimate Edition RTM (Gold Code) from the MSDN site on a Gateway S-5200D with a 28-GHz Pentium D, 2 GB RAM, and 180-GB SATA drive. I then installed SQL Server 2005 Express Edition with Advanced Services SP2 - November 2006 CTP from the download site. I included SQL Server Reporting Services (SSRS) and Full-Text Search (FTS) features and accepted the default options when running the installer. I then specified TCP/IP and Named Pipes connectivity and enabled CLR Integration with the SQL Server Surface Area Configuration Tool.

I then began creating, updating, and upgrading databases up to 1.2GB in size from SSX and MSDE 2000 running under Windows XP and Windows Server 2003. The only issue I encountered was failure of the Surface Area Contriguration Tool to open a port for SQLServer.exe in Windows in Windows Firewall. (The tool opened UPP Port 1434 for the SQL Browser service but not for the randomly-assigned TCP/IP port for the non-default OAKLEAF-WV20\SQLSERVER named instance.) I haven't tested SSRS or FTS extensively so far, because none of SSX's no-charge competitors offer these high-end features.

After serveral days of testing, the Application event log showed a single "The configuration of the AdminConnection\TCP protocol in the SQL instance SQLEXPRESS is not valid" error message, which I attribute to SSX's lack of a dedicated administrative connection.

Possible Microsoft Missteps

Here's where I think Microsoft went wrong:

  • In my opinion, the decision to embargo MSDE 1.0 and 2000 from Windows Vista systems, which I reported in a July 11, 2006 "Windows Vista Won't Support MSDE 1.0 and 2000" Post, was a serious public relations error.
  • The October [sic] CTP end-user license agreement (License_EXPRCOMP_ENU.txt) in the \Program Files\Microsoft SQL Server\90\EULA folder requires "another agreement" from Microsoft to "test the software in a live operating environment" but doesn't tell you how to obtain such an agrement.
  • The same EULA (and License_EXPR_ENU.txt for SSX SP1) states that "Microsoft provides Internet-based services with the software. It may change or cancel them at any time." The EULA doesn't define "Internet-based services." However, loss of use with or support by Internet Information Services (IIS) 7.0 would be a disaster for many small organizations who depend on SSX as a Web site datasource.

However, I don't believe any of the preceding issues will affect Microsoft's future revenue stream from Windows Vista or SQL Server significantly.

Updated: 12/19/2006: Minor additions. 12/19/2006, 2:30 p.m. PST: Major additions and changes. 12/20/2006: Minor additions.