Mike H. - Another Geek In Need...

WebLog

  Home  |   Contact  |   Syndication    |   Login
  64 Posts | 6 Stories | 423 Comments | 287 Trackbacks

News

Archives

Post Categories

Image Galleries

Development

Favorite Blogs

Hosting

User Groups

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 06, 2007 10:10 AM

Feedback

# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net 8/12/2008 5:42 PM Murali
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.



# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net 8/12/2008 6:47 PM MikeH
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...

# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net 8/12/2008 7:30 PM Murali
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.





# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net 10/6/2009 4:20 PM Angel Amador
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.

# re: System.Data.OracleClient vs. Oracle ODP - Not all things .Net 10/26/2009 8:19 AM Message: ORA-01036: illegal var
Message: ORA-01036: illegal variable name/number

Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: