11 Replies Latest reply on Jan 5, 2011 8:02 AM by 828632

    Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl

    425259
      .NET 2 (c#) Standalone application is failed to run on clean computer with subj
      application compiled on VisualStudio 2005

      installed Software:
      .NET 2 redistribution
      ODAC10202Beta.exe


      The same application built with VS 2003 .NET 1 and installed ODAC101040.exe
      works fine.

      Thanks for any advice.
        • 1. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
          gdarling - oracle
          Hi,

          "Unable to find entry point..." almost always means you have a dll mismatch.
          Do you have multiple Oracle homes on the machine with the problem? Or just the ODAC beta?
          Are you compiling and running on the machine with the problem, or deploying an app compiled on another machine? If deploying, are you deploying Oracle.DataAccess.dll along with it?

          Cheers,
          Greg
          • 2. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
            523154
            I also face the same error. (Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dll'. )
            I have one Oracle home with Client_1 and Client_2. I'm trying to access a .NET application installed locally with IIS6. Application is installed with .NET framework 2.0

            Let me know your thoughts.
            Thanks.
            • 3. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
              gdarling - oracle
              Hi,

              If you have Client_1 and Client_2, you have two Oracle homes.
              Also, if you're using .NET 2, you should be using 10.2.0.2.20 or higher ODP, which should be looking for oraops10W.dll, not oraops10.
              I'd recommend you use a tools like Process Explorer and FileMon to determine what version of Oracle.DataAccess.dll is getting loaded,and what OraOps10 is getting loaded. The versions need to match exactly, and should come from the same home.

              Hope it helps,
              Greg
              • 5. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
                634144
                Found that the issue is that the Oracle installer does not place all the DLL's into the GAC. What you need to do is open the .Net configuration manager, click on view installed assemblies and add all the DLL's in the following locations

                c:\oracle\product\10.2.0\client_1\ODP.NET\PublisherPolicy\1.x
                c:\oracle\product\10.2.0\client_1\ODP.NET\bin\1.x
                c:\oracle\product\10.2.0\client_1\ODP.NET\bin\2.x

                Restart IIS and away you go. At least this resolved it for me.
                • 6. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
                  721220
                  I resolved the issue today.
                  Please add the reference dll to "System.Data.OracleClient" instead of "Oracle.DataAccess.Client", modified your code then all is ok.
                  • 7. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
                    Mark Williams-Oracle
                    Hi,

                    Well, it depends on what your goal is... you've switched from ODP.NET to the MS provider (which is deprecated beginning with .NET Framework 4.0).

                    See http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx

                    - Mark
                    • 8. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
                      754708
                      I tried the suggestion above using the MS GAC tool and I still have the problem so I am looking for any other suggestions or thoughts as to what could be wrong:

                      gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\PublisherPolicy\1.x\Policy.9.2.Oracle.DataAccess.dll"
                      gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\PublisherPolicy\1.x\Policy.10.1.Oracle.DataAccess.dll"
                      gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\PublisherPolicy\1.x\Policy.10.2.Oracle.DataAccess.dll"
                      gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\bin\1.x\Oracle.DataAccess.dll"
                      gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll"

                      I used gacutil.exe out of "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin" and each insert said it was successful.

                      The specific error I am getting in VS2008 with SP1 is: _getContextXml:Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dll' in a .NET 2.x project.

                      I used dependency walker and looked at both OraOps10.dll (version 1.102.2.20) and OraOps10w.dll (version 2.102.2.20) and the function OpsPrmAllocValCtx isn't in either one of them. I looked at other users machines who aren't having this problem and they have the same Oracle DLLs from the same install that I do too so I am scratching my head trying to figure out what is wrong here and would appreciate any help - and thanks in advance.
                      • 9. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
                        754708
                        I tried the suggestion above using the MS GAC tool and I still have the problem so I am looking for any other suggestions or thoughts as to what could be wrong:

                        gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\PublisherPolicy\1.x\Policy.9.2.Oracle.DataAccess.dll"
                        gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\PublisherPolicy\1.x\Policy.10.1.Oracle.DataAccess.dll"
                        gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\PublisherPolicy\1.x\Policy.10.2.Oracle.DataAccess.dll"
                        gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\bin\1.x\Oracle.DataAccess.dll"
                        gacutil.exe /i "C:\Oracle\oracle\product\10.2.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll"

                        I used gacutil.exe out of "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin" and each insert said it was successful.

                        The specific error I am getting in VS2008 with SP1 is: _getContextXml:Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dll' in a .NET 2.x project.

                        I used dependency walker and looked at both OraOps10.dll (version 1.102.2.20) and OraOps10w.dll (version 2.102.2.20) and the function OpsPrmAllocValCtx isn't in either one of them. I looked at other users machines who aren't having this problem and they have the same Oracle DLLs from the same install that I do too so I am scratching my head trying to figure out what is wrong here and would appreciate any help - and thanks in advance.
                        • 10. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
                          745061
                          I have the same problem, any resolution, please ...
                          • 11. Re: Unable to find an entry point named 'OpsPrmAllocValCtx' in DLL 'OraOps10.dl
                            828632
                            What worked for me was adding all the following dlls to my GAC:


                            - C:\oracle\product\10.2.0\10gClient\odp.net\bin\1.x\Oracle.DataAccess.dll (File Version = 1.102.2.20)
                            - C:\oracle\product\10.2.0\10gClient\odp.net\bin\2.x\Oracle.DataAccess.dll (File Version = 2.102.2.20)
                            - C:\oracle\product\10.2.0\10gClient\odp.net\PublisherPolicy\1.x\Policy.9.2.Oracle.DataAccess.dll
                            - C:\oracle\product\10.2.0\10gClient\odp.net\PublisherPolicy\1.x\Policy.10.1.Oracle.DataAccess.dll
                            - C:\oracle\product\10.2.0\10gClient\odp.net\PublisherPolicy\1.x\Policy.10.2.Oracle.DataAccess.dll
                            - Oracle.DataAccess.dll (File Version = 10.2.0.100).

                            I think it was the last dll that did the trick.