[FB-Tracker] Created: (DNET-721) Dynamic SQL Statement generation limit error: eror code = -204 Implementation limit exceeded block size exceeds implementation restriction

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[FB-Tracker] Created: (DNET-721) Dynamic SQL Statement generation limit error: eror code = -204 Implementation limit exceeded block size exceeds implementation restriction

JIRA tracker@firebirdsql.org
Dynamic SQL Statement generation limit error: eror code = -204 Implementation limit exceeded block size exceeds implementation restriction
------------------------------------------------------------------------------------------------------------------------------------------

                 Key: DNET-721
                 URL: http://tracker.firebirdsql.org/browse/DNET-721
             Project: .NET Data provider
          Issue Type: Bug
          Components: ADO.NET Provider, DDEX Provider, Entity Framework support
    Affects Versions: 5.6.0.0
         Environment: Windows 8, Visual Studio 2013 Update 5, Firebird-2.5.6.27020_0 (Win32), FirebirdSql.Data.FirebirdClient 5.6.0.0, DDEXProvider-3.0.2.0
            Reporter: Vladimir
            Assignee: Jiri Cincura


Hello, please help me with "Dynamic SQL Error: error code = -204 Implementation limit exceeded block size exceeds implementation restriction" error

Project details: .NET 4.5.2 WPF-app
nuget-packages:
Firebird Entity Framework Provider - version 5.6.0
Firebird ADO.NET Data Povider - version 5.6.0
Entity Framework - version 6.1.3

I have a number of Stored Procedures in my DB, which i use a lot. But when i tried to use these procedures with EntityFramework, i faced with an unsolvable problem. For this bug i chose two similar Stored Procedures: B_IMP_I_OGL and B_IMP_I_REESTR and created two projects to work with them. B_IMP_I_OGL - works perfectly, B_IMP_I_REESTR - returns following error during compilation:

"FirebirdSql.Data.FirebirdClient.FbException: Dynamic SQL Error
SQL error code = -204
Implementation limit exceeded
block size exceeds implementation restriction"

B_IMP_I_REESTR has 20 input parameters, while B_IMI_I_OGL has only 7 parameters. (Both procedures return only one parameter - integer ID)

This is my procedure:

create or alter procedure B_IMP_I_REESTR (
    IDUSER integer,
    IMPMODE integer,
    IDGEN integer,
    IDPARENT integer,
    IDTCH integer,
    NOMER varchar(15),
    SBORNIK integer,
    NAME varchar(250),
    VIX_DAN blob sub_type 0 segment size 80,
    ISSYSTEM integer,
    POKAZ varchar(8),
    GOD integer,
    RABMAT integer,
    IDGROUP integer,
    IDPODGROUP integer,
    IDTYPE integer,
    ORDERVIEW integer,
    CREATEDATE date,
    AUTHOR varchar(250),
    NORM_GUID varchar(100),
    INSTALL_GUID varchar(100),
    INDEX_YEAR integer,
    INDEX_MONTH integer,
    INDEX_ORGNAME varchar(250),
    INDTYPE varchar(50))
returns (
    ID integer)
as
declare variable REORDERING integer;
declare variable AINSERTING integer;
declare variable IDIND integer;
declare variable ISSYSTEM_OLD integer;
declare variable IDPARENT_OLD integer;
BEGIN
 ...
 END
  execute procedure B_IMP_U_REESTR_HIDE(:ID);
  SUSPEND;
END


1) I added this Stored Procedure "B_IMP_I_REESTR" to my model.edmx file (and checked in Model Browser\Storage Model, that it has been added)
2) Then i opened Model Browser again and created complex type with one integer field named ID (return type for import function)
3) Then i created import function for B_IMP_I_REESTR procedure, which returns complex type (2)
4) This is calling code:
var temp_B_IMP_I_REESTR = Context.B_IMP_I_REESTR(10, 1, 19105302, 1399455, null, "132456", 0, "some text", null, 0, "", null, 0,
               1, 1, 1399451, 6000000, null, "some other text", Guid.NewGuid().ToString(), null, null, null, "", "some random text");
 foreach (B_IMP_I_REESTR_ReturnType bImpReestReturnComplexType in temp_B_IMP_I_REESTR)
            {
                MessageBox.Show(bImpReestReturnComplexType.ID.ToString());
            }

And then i get unresolved exception:
 "System.Data.Entity.Core.EntityCommandExecutionException" in EntityFramework.dll

Visual studio Output gives me the following statement:

FirebirdSql.Data.FirebirdClient Information: 0 : Command:
SELECT
1 AS "C1",
"A"."ID" AS "ID"
FROM "B_IMP_I_REESTR"(CAST(@IDUSER AS INT), CAST(@IMPMODE AS INT), CAST(@IDGEN AS INT), CAST(@IDPARENT AS INT), CAST(@IDTCH AS INT), CAST(@NOMER AS VARCHAR(8191)), CAST(@SBORNIK AS INT), CAST(@NAME AS VARCHAR(8191)), CAST(@VIX_DAN AS BLOB SUB_TYPE BINARY), CAST(@ISSYSTEM AS INT), CAST(@POKAZ AS VARCHAR(8191)), CAST(@GOD AS INT), CAST(@RABMAT AS INT), CAST(@IDGROUP AS INT), CAST(@IDPODGROUP AS INT), CAST(@IDTYPE AS INT), CAST(@ORDERVIEW AS INT), CAST(@CREATEDATE AS TIMESTAMP), CAST(@AUTHOR AS VARCHAR(8191)), CAST(@NORM_GUID AS VARCHAR(8191)), CAST(@INSTALL_GUID AS VARCHAR(8191)), CAST(@INDEX_YEAR AS INT), CAST(@INDEX_MONTH AS INT), CAST(@INDEX_ORGNAME AS VARCHAR(8191)), CAST(@INDTYPE AS VARCHAR(8191))) AS "A"
Parameters:
Name:IDUSER Type:Integer Used Value:10
Name:IMPMODE Type:Integer Used Value:1
Name:IDGEN Type:Integer Used Value:19105302
Name:IDPARENT Type:Integer Used Value:1399455
Name:IDTCH Type:Integer Used Value:<null>
Name:NOMER Type:VarChar Used Value:132456
Name:SBORNIK Type:Integer Used Value:0
Name:NAME Type:VarChar Used Value:some text
Name:VIX_DAN Type:Binary Used Value:<null>
Name:ISSYSTEM Type:Integer Used Value:0
Name:POKAZ Type:VarChar Used Value:
Name:GOD Type:Integer Used Value:<null>
Name:RABMAT Type:Integer Used Value:0
Name:IDGROUP Type:Integer Used Value:1
Name:IDPODGROUP Type:Integer Used Value:1
Name:IDTYPE Type:Integer Used Value:1399451
Name:ORDERVIEW Type:Integer Used Value:6000000
Name:CREATEDATE Type:TimeStamp Used Value:<null>
Name:AUTHOR Type:VarChar Used Value:some other text
Name:NORM_GUID Type:VarChar Used Value:da204a67-c82d-49ba-8475-945110f3c2f7
Name:INSTALL_GUID Type:VarChar Used Value:<null>
Name:INDEX_YEAR Type:Integer Used Value:<null>
Name:INDEX_MONTH Type:Integer Used Value:<null>
Name:INDEX_ORGNAME Type:VarChar Used Value:
Name:INDTYPE Type:VarChar Used Value:some random text


FirebirdSql.Data.FirebirdClient.FbException: Dynamic SQL Error
SQL error code = -204
Implementation limit exceeded
block size exceeds implementation restriction ---&amp;gt; FirebirdSql.Data.Common.IscException: Dynamic SQL Error
SQL error code = -204
Implementation limit exceeded
block size exceeds implementation restriction
   в FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.ProcessResponse(IResponse response)
   в FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.ReadResponse()
   в FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.ReadGenericResponse()
   в FirebirdSql.Data.Client.Managed.Version11.GdsStatement.Prepare(String commandText)
   в FirebirdSql.Data.FirebirdClient.FbCommand.Prepare(Boolean returnsSet)
   в FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteCommand(CommandBehavior behavior, Boolean returnsSet)
   в FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteReader(CommandBehavior behavior)

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

------------------------------------------------------------------------------
_______________________________________________
Firebird-net-provider mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider