Installation of Oracle Client for Oracle WCF adapter RRS feed

  • Question

  • What is the preferred way to install the Oracle client into BizTalk server?
    What ODAC version should we start with and then patch to get to the correct level? Please note that it is not desirable to install any beta software into our production servers.

    I have seen a web cast that requires to install 3 different components of the Oracle client including beta software.

    Any pitfalls, we should be aware of?
    Monday, September 7, 2009 11:23 AM

All replies

  • I hope, the following helps you:
  • Microsoft BizTalk Adapter 3.0 for Oracle Database . This Oracle database adapter enables adapter clients to read and write to and Oracle database
    Supported Oracle Database Server versions
    • Oracle 9.2
    • Oracle 10.1
    • Oracle 10.2
    • Oracle 11.1
    The Oracle Database adapter supports Oracle Data Access Components for Oracle Client with Patch Set

  • Microsoft BizTalk Adapter for Oracle E-Business Suite . Using this adapter clients can perform operations on the the Oracle E-Business Suite artifacts (PL/SQL APIs, interface tables/views, concurrent programs, and request sets) and the underlying Oracle database artifacts (such as tables, functions, and procedures) by exchanging SOAP messages with the adapter.
    The Oracle E-Business adapter uses the Oracle Data Provider for .NET (ODP.NET) to communicate with Oracle E-Business Suite. ODP.NET is one of the components of Oracle Data Access Components (ODAC).

  • The above is from:


    This posting is provided "AS IS" with no warranties, and confers no rights.

Monday, September 7, 2009 12:57 PM
  • Well, the installation documentation only states: Oracle Data Access Components for Oracle Client with Patch Set There are so many different client components and some of them are in beta that I am hesitant to introduce this into our environment. The reason I am asking this is that our test environment does not work anymore. I will try once more with ODAC1110621 + the patch set.
    Monday, September 7, 2009 1:20 PM
  • Yes - installing and then the patch set to upgrade to is the right way - you wont have to use anything that is in beta this way. You might need to look for the pathset via Oracle Metalink.
    Monday, September 7, 2009 4:44 PM
  • I have the patch set. That's when the problems start. I should probably ask this from Oracle but do not have access to Metalink: Do I have to specify a new Oracle Home when applying the patch set?
    Monday, September 7, 2009 4:49 PM
  • No - you have to apply the patch set to the oracle home where is installed (I vaguely remember that the drop down is a bit funny).
    Monday, September 7, 2009 6:01 PM
  • That is an understatement. The patch deletes most of the installation and you have to apply an other patch to make the client working again. That patch is not perfect either. At least I had to copy the Network folder from a working installation to have any success. Now it works but the end result is really scary.

    Tuesday, September 15, 2009 5:51 AM
  • I dont think that is how it should work. My suggestion is that you should get in touch with Oracle support for this.
    Tuesday, September 15, 2009 10:32 AM
  • Hi there,

    I am not sure if you are still facing issues, but I have still problems with this adapter. Here is the issue :

    we are trying to connect BizTalk WCF-OracleDB with Oracle Database.
    Everything went fine, until I clicked on apply on my receive port
    where I got this error:
    (System.ArgumentException) Liaison non valide.
    (System.IO.FileNotFoundException) Impossible de charger le fichier ou
    l'assembly 'Oracle.DataAccess, Version=, Culture=neutral,
    PublicKeyToken=89b483f429c47342' ou une de ses dépendances. Le fichier
    spécifié est introuvable.

    I donwloaded and installed the latest version of the ODAC in
    Oracle Data Access Components (ODAC) Downloads

    However the version of  the Oracle.DataAccess in the GAC is

    I have access to the but I don't know which
    patch I should install?
    According to my comprehension, I need to install the
    version in the same link and then update to version But what
    is the patch number in oracle that I need to download?

    Some articles suggest to donwload the patch 6890831, but this is for
    the Database Server, and not for the client?

    Any help?

    Wednesday, October 21, 2009 4:00 PM
  • This patch is applicable to the client as well.
    Thursday, October 22, 2009 6:29 AM
  • Oracle has released ODAC1110720. We will be using that.
    Thursday, October 22, 2009 6:50 AM
  • If you are facing version issues, create a binding policy. I have used the installer version of ODAC1110720 on my workstation and I believe it has created me this

        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" />
            <bindingRedirect oldVersion="" newVersion="" />

    On the BizTalk servers I have used the XCOPY version of ODAC1110720 . There are no binding policies.

    The adapter seems to work in both cases.

    Thursday, October 22, 2009 7:40 AM
  • Thank you guys, I solved the problem, and explained the solution in this thread

    However, what I need to do now is: call a function that would poll the Oracle Advanced Queuing, this function does not take any argument.
    I struggled trying to find how I could do that, I didn't find any hint no where, in the documentation it is specified that the adapter could call a function or stored procedure. I created schemas of the oracle function, however I have no idea of what to put in the Polling statement ! you could find the detailed description in :

    The problem I am facing with my client, is prove that BizTalk Server could do the job. I'm starting to get very confused with BizTalk and Oracle connectivity, i.e. no Advanced Queuing and the calling a function is a headdache, I didn't try calling stored procedures, but I'm sure it's not easy !

    There are many samples in, however no sample indicates what is the polling statement of a function with no argument ! or more basically how do we poll a function. Ideally I would need to know for the Advanced Queuing how do we tell the adapter if there is still messages to consume!

    Any help would be greatly appreciated!

    Best Regards,
    Thursday, October 22, 2009 8:31 PM
  • See my recent post - it gives some details
    Thursday, October 22, 2009 8:33 PM
  • Where do I see these posts?
    Thursday, October 22, 2009 9:53 PM
  • Hi!

    You can follow the step by step walkthrough here:

    For an SP with no parameters your pollingstamement would be something like this:

    <GET_ACTIVITYS xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG/GET_ACTIVITY"></GET_ACTIVITYS>

    This is as per the schema that is generated at the design time (notice that you get two schemas - one for the response you will get, and one for the input XML that you have to provide).

    I hope this helps!
    Friday, October 23, 2009 4:27 AM
  • Thank Manas,

    I already went through this link. However I am getting this error

    System.NotSupportedException: La méthode spécifiée n'est pas prise en charge.
       à Microsoft.Adapters.OracleDB.OracleDBInboundContract..ctor(OracleDBConnection connection, IOracleCommonUDTHelper oracleUdtHelper, MetadataLookup metadataLookup)

    Here is my configuration :
    Polled Data Available Statement : SELECT 1 FROM DUAL
    Polling Action : http://Microsoft.LobServices.OracleDB/2007/03/ICISF/Function/DEQUEUE_AQ_QUEUE
    Polling Statement : <DEQUEUE_AQ_QUEUE xmlns="http://Microsoft.LobServices.OracleDB/2007/03/ICISF/Function/DEQUEUE_AQ_QUEUE"></DEQUEUE_AQ_QUEUE>

    Am I doing anything wrong with this?



    Friday, October 23, 2009 7:55 AM
  • I went further now here is the issue I am having :
    Generated the schemas of the function there were three schemas generated for Service (and not client)
     - Service_OracleDBBindingICISF.Function.xsd NameSpace : http://Microsoft.LobServices.OracleDB/2007/03/ICISF/Function only the root element DEQUEUE_AQ_QUEUE is present
     - Service_OracleDBBindingICISF.PollingFunction.xsd : http://Microsoft.LobServices.OracleDB/2007/03/ICISF/PollingFunction root element DEQUEUE_AQ_QUEUE is present + reference to user type data
     - Service_OracleDBBindingICISF.UserType.xsd : http://Microsoft.LobServices.OracleDB/2007/03/ICISF/UserType root element AQ_TYPE

    Now in the Receive location, I specified :
    Polling Action : http://Microsoft.LobServices.OracleDB/2007/03/ICISF/PollingFunction/DEQUEUE_AQ_QUEUE
    Polling Statement : <DEQUEUE_AQ_QUEUE xmlns="http://Microsoft.LobServices.OracleDB/2007/03/ICISF/Function" />

    With this configuration everything works fine when there are no messages to consume, and the resulting XML is
      <DEQUEUE_AQ_QUEUE xmlns="http://Microsoft.LobServices.OracleDB/2007/03/ICISF/PollingFunction" />

    However, when there are messages in the queue, i.e. when data are returned by the function I get this error

    System.InvalidOperationException: Correspondance of personal types for 'dataSource='xxx' schemaName='xxxx' typeName='AQ_TYPE'' not specified or not valid.

    Any idea?


    Friday, October 23, 2009 10:00 AM
  • Ok, I finaly found out what to do
    I'll explain it later in the blog of my company

    Thank you guys for supporting me !


    Friday, October 23, 2009 4:01 PM
  • Hey Stefan,
    I am also stuck at the "System.NotSupportedException:Specified method  is not supported" Could you please let me know how you fixed this error?

    Thanks in advance
    Tuesday, January 19, 2010 2:31 PM