Microsoft Access + OleDb ADO.NET provider + LIKE = puzzlement

I haven’t worked with Access much in a while and I ran into something today that drove me nuts for about a half hour. In SQL Server, Oracle, and probably every other major database the wildcard character used with LIKE comparisons is the percent sign (%).-á In Microsoft Access you use asterisks (*).-á UNLESS YOU RUN YOUR QUERY FROM A .NET APPLICATION USING THE OLEDB ADO.NET PROVIDER. Then you use %. Ugh. I thought I was going crazy. I couldn’t figure out why the same query worked from inside Access, but not my .NET code.

It’s actually probably a good thing it works like that. I could see where you might want to support multiple back-end databases without having to change all your SQL. If you were careful to stay away from vendor-specific features, you could (theoretically) just change your connection string…

Windows 2003 Server/IIS6 Kicks Windows 2000 Server/IIS5’s Butt

This is probably old news to many, but believe Microsoft when they say that there are significant performance and scalability improvements in Windows 2003 Server and IIS 6. I’ve been wondering why my “puny” Athlon XP development system at work has seemed so much faster than the “beefy” dual-Xeon production server at work. Besides the hardware differences, the production box runs Windows 2000 Server while the dev box is running Window 2003 Server.

I set up a test environment to compare 2000 vs. 2003 on identical hardware and found that, for my application (.NET smart client that uses a Web Service on the server), that start-up times where 3-4x faster when the server was running Windows 2003. Other operations where at least 2x faster. Needless to say, I’ll be pushing for an OS upgrade…