1 2 Previous Next 17 Replies Latest reply: Apr 22, 2013 1:04 PM by 1003458 Go to original post RSS
      • 15. Re: Problems with Packages in ODAC 11.2 Release 4
        966649
        it was working good before ODTwithODAC112021.
        so it seems nothing to do with visual studio.
        it was a ODT bug.

        thanks.
        • 16. Re: Problems with Packages in ODAC 11.2 Release 4
          Alex.Keh .Product.Manager-Oracle

          I verified the proper working behavior in version 11.2.0.21 as well. The Oracle dev team will take a look and see what changed.

           

          This issue is being tracked with Bug 13851993.

           

          We suspect the problem was introduced when ODT started using a newer version of DDEX. This was right after ODT version 11.2.0.2.1. DDEX is the Data Designer Extensibility (DDEX) SDK supplied by Microsoft to allow Visual Studio integration.

          • 17. Re: Problems with Packages in ODAC 11.2 Release 4
            1003458
            I got 11.2.0.3.60 Beta 2 release and it has the same issue as 11.2.0.3.0 from where this issue first started.

            To replicate the issue:-
            1. Create a simple function that returns a sys_refcursor inside an Oracle package. Test that the function runs without errors within sqlplus.

                 FUNCTION GET_DUAL RETURN SYS_REFCURSOR IS
                      rtn SYS_REFCURSOR;
                 BEGIN
                      OPEN rtn FOR SELECT * FROM dual;
                      RETURN rtn;
                 END GET_DUAL;

            2. In Visual Studio, add a new DataSet item.
            3. In Visual Studio, go to the Server Explorer window and connect with the same user as in sqlplus to eliminate any security issues.
            4. In the DataSet design surface, add a new Table Adapter object. Click next to select "Use existing stored procedures". Select the (package name #0# function name) item from the dropdown and complete the wizard.

            Result:-
            If the total of the string (package name + "#0#" + function name) gets bigger than 30, the error received is "too long" else "not exists".

            This worked with ODAC 11.2.0.2.1 just fine but none of the versions after that. SO Visual Studio has always worked.
            In 11.2.0.2.1, the TableAdapter Configuration Wizard shows the names using a dot: package[dot]function but with later ODAC versions the names are listed as package[#0#]function. The errors are because somewhere in the communication between Oracle and the wizard, the #0# in the names are no longer being correctly replaced with the dot. If the dot is not there, the function name now constitutes the package name + #0# and becomes longer than 30, hence the "too long" error. And if that name is still within 30, then there is no object that exists with the name (package name + "#0#" + function name) because the actual object name is (package name + [dot] + function name), hence the "not exists" error. This error is somewhere in the wizard logic from later versions of ODAC.
            As a normal behavior, just dragging the function name from the server explorer on to the DataSet design surface should create a DataTable for the above test function as it used to in ODAC 11.2.0.2.1.

            Edited by: 1000455 on Apr 22, 2013 11:02 AM
            1 2 Previous Next