Question

I'm really not sure if this is the correct forum for this, apologies if I should aim this elsewhere.

I've been given (as a very silly experiment IMO) a Windows 7 x64 machine at work. This might be fine if I didn't have to get anything done. Unfortunately, since we're running SQL Server 2005, I need BIDS 2005 in order to edit and publish the existing SSIS packages on the server. BIDS 2005 does not play amazingly well with Windows 7 x64, the very smallest of annoyances is the complete inability to compile scripts without opening them.

Anyway, I now have a need to connect to an Oracle datasource so I can export results from it, but no matter what I try, I end up with the dreaded "protocol adapter error" when I try to connect within BIDS.

I've installed the 32 bit version of the full Oracle client and I can connect via ODBC and SQL Developer, but when I try to create an OLE DB connection within BIDS (with either the microsoft or Oracle driver), all I get is the error described.

I really don't like Oracle, so I haven't used it enough to even know how to begin to troubleshoot this, although I will say that SQL*Plus has the same problem, despite being able to TNSPing the server.

Any ideas? I'm a short step away from either reinstalling windows or running a 32-bit virtual machine and doing all my development in there.

Was it helpful?

Solution 2

Weirdly, it's working now, and I'm really not sure why. Let's chalk this one up to Oracle being broken and strange generally, although there are a few things that are worth learning from this :

  1. BIDS needs to be restarted whenever you make changes to TNSNames.ora. It seems this is even the case when you supply the full TNS connection in the connection string.
  2. On Windows 7, it is IMPERATIVE that you run the Oracle deinstall.bat as Administrator. If you don't you'll end up with a broken Oracle installation that is almost impossible to remove cleanly.
  3. Despite being able to use a 64bit SSIS run-time, BIDS 2005 cannot use the 64bit Oracle drivers.
  4. If you like having a (relatively) clean dev system, do not install the Oracle client - it's possible to install the 32 and 64 bit drivers side but uninstalling them is non-trivial and not guaranteed to work (for example, I've actually ended up with the 32bit drivers installed on my machine now, but due to previous uninstallations the ODBC manager can't see the Oracle drivers)

I think next time I'll just do my development in a disposable virtual machine.

OTHER TIPS

Sounds like the issue may be at the Oracle side...but if you can connect via ODBC can you try using the ADO.NET Data Source instead of the OleDb source?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top