System.Data.OracleClient and Windows 7… love at first sight! Aug 14, 2011

I spent nearly two days trying to resolve this issue. My new desktop at work is running Windows 7 (64-bit) and some of our applications are still using System.Data.OracleClient as an adapter instead of Oracle’s own ODP.NET. Microsoft’s driver interops with Oracle’s own client installed on the developer machine (oci.dll). We need to continue running our web applications under 32-bit IIS, which is where the problem lies.

FYI… According to Microsoft:

The types in System.Data.OracleClient are deprecated. The types are supported in version 4 of the .NET Framework but will be removed in a future release. Microsoft recommends that you use a third-party Oracle provider.

Back to the comment about IIS. Apparently, IIS 7 in Windows 7 is 64-bit only. Yes, you can set an application pool to 32-bit. That would be perfectly fine, except that Oracle’s client native methods don’t like running through WoW64. So, you have to install both the 64-bit client and the 32-bit client. After all, 32-bit adapter code can’t call a 64-bit client. If you fire up procmon, though, you’ll see that calling the 32-bit Oracle client still queries 64-bit settings (and fails if they don’t exist). WoW64!, indeed.

Continue reading to see my resolution…

Note: this forces Oracle 11.2.0.1 to use 32-bit only in a 64-bit environment.

...
Fixed issues with RSS feed. Aug 11, 2011 My apologies to any of my subscribers who may have had issues over the past month with my syndication feed. ...
jquery.empuzzle @github Aug 8, 2011 For the past few days, I’ve been writing this plugin called jquery.empuzzle. It was inspired by ‘Jigsy’ at cityposh.com. It is a basic N-puzzle ...
Linux tip: Alias ‘cd’ in bash shell Jul 24, 2011 A while ago, I stumbled across an excellent article at O’Reilly with tips for your bash shell. I wanted to expand on the “pushd/popd” section a little. ...
Installing PAR::Packer (in Windows or Linux) Jul 20, 2011

I’m a frequent Ubuntu Linux user. I don’t use Windows much, unless I’m at work. Today, I wrote a small script to parse Apache access logs and thought, “This would be a really cool utility to share with others.” Granted, it’s pretty basic and there are most likely hundreds of other utilities out there, so I’ve decided to use it as an example to installing PAR:Packer under Windows to compile perl scripts into a Windows executable.

  1. Download and install Strawberry Perl
  2. Install cpanm to more easily install CPAN modules. In a command prompt, run: ```bash cpan -i App::cpanminu

  3. Then install **PAR::Packer** for _compiling_ the Perl script. Run: ```bash
cpanm -n PAR::Packe

Continue reading for an example!

...
Bitwise Operations: Examples Jul 19, 2011 One post that I’ve always loved on stackoverflow is this post by Hugoware which contains some useful extension methods for bitwise operations. ...
Hostgator: ssh warns ‘too many authentication failures’ Jul 17, 2011 I requested for HostGator to provide ssh access. Since then, I haven’t used it. I attempted to ssh into the server today and received the message ‘too many authentication failures’. ...
What happens when I overwrite a DLL (asp.net)? Jul 9, 2011

I post on Stack Overflow a lot. Sometimes, there are really interesting questions like one I answered last year. I had forgotten about it until this week when the answer was accepted. I thought I’d share it on my blog.

The original post is here. Read on for redundancy.

...
Getting started with Catalyst Framework (install) Jun 24, 2011 I’ve been a fan of Ruby on Rails for a while. I’ve not been able to find a hosting solution that keeps on the bleeding edge of Rails development. ...
Loading newer versions of jQuery and jQuery UI (noConflict) Jun 18, 2011

Here’s an interesting problem:

You have an ASP.NET Web Forms application which references jQuery 1.3.x and would require a lot of testing to upgrade to a newer version of jQuery. You’re adding functionality to this application, and you really want to use jQuery 1.5 or jQuery 1.6 going forward with new development. But…, jQuery 1.3.x is referenced in the master page. Also, you want to load jQuery UI 1.8.x targeting the newer version of jQuery.

...