Geeks With Blogs

Mike H. - Another Geek In Need... WebLog

I recently had the not-so-great-or-fun pleasure of a pure .Net to Oracle application show-down :) And yes, I say that with some pun.

In summary, keeping to proper form, I developed a DataProviderFactory that provided the following:

  • SQL Server native client API
  • Oracle
  • BDC to SQL Server
  • BDC to Oracle

Now, BDC = Business Data Catalog - a new service provider native to MOSS (Micrsoft Office SharePoint Server) 2007. And trust me - the BDC ROCKS!!!

Back to providers.

My provider factory basically provided classes for base types and class bases - the lowest level. In the solution I coded specific classes for the given provider (Oracle, SQL, etc) and within the Assembly.cs for that class - I'd reference the appropriate base class. All run-of-the-mill best practice stuff. Right? Well, almost.

After several hours of seeing varrying results from the Oracle database, I began to get a little suspicious - and sure enough - the provider with .Net is not all things .Net - at least not for Oracle.

If you are coding for a Oracle specific application - check out this link for specifics on the Oracle Data Provider for .Net - or the ODP. The API is 'similar' - but only SIMILAR - it is not the same. I invariably tore out the .Net System.Data.OracleClient and replaced it with the Oracle .Net provider and all came together - but this was not obvious or intuitive.

HTH's another weary developer struggling to sort out why - for lack of a better way to say it - when dealing with Oracle - it's not all things .Net.

Posted on Tuesday, March 6, 2007 10:10 AM .Net Development | Back to top


Comments on this post: System.Data.OracleClient vs. Oracle ODP - Not all things .Net

# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net
Requesting Gravatar...
hi,
I am trying to call oracle stored procedure from BDC. Please help me if you have info.
I am able to call SQL queries.

Please help me.
Thanks,
Murali.

Left by Murali on Aug 12, 2008 5:42 PM

# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net
Requesting Gravatar...
Hi Murali... If you want to wire up your BDC application to call into Oracle - then you'll need to configure the SSO service on the MOSS host. Essentially, to call into Oracle, you'll need to create an application ID in the single sign-on database/configuration - and wire up that code as the Provider in the XML code for the BDC application. There are a number of examples of how to do this, including the nuances of the upper/lower-case characters of the assembly name when you configure your XML manifest.

I hope this is helpful...
Left by MikeH on Aug 12, 2008 6:47 PM

# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net
Requesting Gravatar...
Mike,
Thanks for your quick replay.
I am sorry, i think not properly explanined.
I don't have problem with authentication, currently using passthrough, working fine.

My problem is calling ORACLE stored procedure, oracle is returning cursor, i don't know how to handle in BDC. any clue for me?

Thanks,
Murali.



Left by Murali on Aug 12, 2008 7:30 PM

# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net
Requesting Gravatar...
Unclear what your problems were... I have been using BDC with Oracle with System.Data.OracleClient with absolutely no problems. Perhaps, it was your provider that had issues. Listen, Microsoft is not perfect but the .Net stuff is pretty good even with Oracle. Be more specific about the problem if you going to suggest that something is broken.
Left by Angel Amador on Oct 06, 2009 4:20 PM

# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net
Requesting Gravatar...
I was wondering what is up with that weird gravatar??? I know 5am is early and I’m not looking my best at that hour, but I hope I don’t look like this!
Left by karen millen on Jan 16, 2011 11:44 PM

Your comment:
 (will show your gravatar)


Copyright © Michael J. Hamilton, Sr. | Powered by: GeeksWithBlogs.net