Simptomai
Kai dirbate su ataskaitomis verslo portale, gaunate vieną iš šių klaidų pranešimų, atsižvelgiant į tai, ar naudojate "Microsoft Dynamics GP 9.0", ar "Microsoft Dynamics SL 6.5".
"Microsoft Dynamics GP"
Spustelėjus Valdyti ataskaitų katalogą,rodomas šis klaidos pranešimas:
Serverio klaida taikomojoje programoje "/".
-------------------------------------------------------------------------------- reikšmė buvo per didelė arba per maža
"Int16".
Aprašas: vykdant dabartinę žiniatinklio užklausą įvyko neapdorota išimtis. Peržiūrėkite rietuvės sekimą, jei reikia daugiau informacijos apie klaidą ir jos kilmę.
Išimties informacija: System.OverflowException: reikšmė buvo per didelė arba per maža "Int16".
Šaltinio klaida:
vykdant dabartinę žiniatinklio užklausą sugeneruota neapdorota išimtis. Informaciją apie išimties kilmę ir vietą galima identifikuoti naudojant toliau pateiktą išimčių rietuvės sekimą.
Rietuvės sekimas: [OverflowException: reikšmė buvo per didelė arba
per maža "Int16".] System.Int16.Parse (eilutė s, NumberStyles style, IFormatProvider provider) +129 Microsoft.BusinessPortal.ReportsPages.VS.ReportRolesAssignments.FillRoles() +186 Microsoft.BusinessPortal.ReportsPages.VS.ReportRolesAssignments.RoleRptID_TextChanged(Objekto siuntėjas, EventArgs e) +32 System.Web.UI.WebControls.TextBox.OnTextChanged(EventArgs e) +108 System.Web.UI.WebControls.TextBox.System. Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() +26 System.Web.UI.Page.RaiseChangedEvents() +115 System.Web.UI.Page.ProcessRequestMain() +1099
--------------------------------------------------------------------------------
versijos informacija: "Microsoft .NET Framework" versija:1.1.4322.2032; ASP.NET Versija:1.1.4322.2032
"Microsoft Dynamics SL"
Kai pateikiate ataskaitą, gaunate šį klaidos pranešimą:
SubmitReportRequest nepavyko. Reikšmė buvo per didelė arba per maža "Int16".
Priežastis
Ši problema kyla dėl vienos iš šių priežasčių, atsižvelgiant į tai, ar naudojate "Microsoft Dynamics GP 9.0", ar "Microsoft Dynamics SL 6.5".
"Microsoft Dynamics GP"
Lentelės ReportCatalog DEX_ROW_ID lauko reikšmė yra didesnė už maksimalią leidžiamą 32767 reikšmę.
"Microsoft Dynamics SL"
ReportRequest lentelėje, kurią naudoja ataskaitų planavimo priemonė, yra laukas AppSrvRequest ID. Lauko AppSrvRequest ID reikšmė yra didesnė už maksimalią leidžiamą 32767 reikšmę.
Sprendimas
Norėdami išspręsti šią problemą, atlikite atitinkamą procedūrą, atsižvelgdami į tai, ar naudojate "Microsoft Dynamics GP 9.0", ar "Microsoft Dynamics SL 6.5".
"Microsoft Dynamics GP"
Iš naujo nustatykite DEX_ROW_ID lauką. Norėdami tai atlikti, vykdykite toliau nurodytus veiksmus.
-
Atlikite atitinkamą veiksmą, atsižvelgdami į tai, ar naudojate "Microsoft SQL Server", "SQL Server" kompiuterio modulio (dar vadinamo MSDE 2000):
-
Jei naudojate "Microsoft SQL Server 2000", SQL užklausų analizatorių. Norėdami tai padaryti, spustelėkite Pradžia, nukreipkite žymiklį į Programos, nukreipkite žymiklį į Microsoft SQL Server, tada spustelėkite Užklausų analizatorius.
-
Jei naudojate "Microsoft SQL Server 2005", paleiskite "SQL Server Management Studio". Norėdami tai padaryti, spustelėkite Pradžia, nukreipkite žymiklį į Programos, nukreipkite žymiklį į Microsoft SQL Server 2005" , tada spustelėkite "SQL Server""Management Studio".
-
Jei naudojate MSDE 2000, paleiskite palaikymo administratoriaus konsolę. Norėdami tai padaryti, spustelėkite Pradžia , nukreipkitežymiklį į Programos, nukreipkite žymiklį į "Microsoft" administratoriaus konsolė, tada spustelėkite Palaikymo administratoriaus konsolė.
-
-
Vykdykite šį sakinį įmonės duomenų bazėje.
DBCC CHECKIDENT ('ReportCatalog', RESEED, 1)
-
Išvalykite lentelę ReportCatalog naudodami SQL užklausų analizatorių arba "SQL Server Management Studio". FRx integravimo tarnyba persvarsto lentelę su teisinga reikšme lauke DEX_ROW_ID. Norėdami tai padaryti, vykdykite šį sakinį įmonės duomenų bazėje.
DELETE AppSrvRequest
"Microsoft Dynamics SL"
Iš naujo nustatykite lauką AppSrvRequest ID. Norėdami tai atlikti, vykdykite toliau nurodytus veiksmus.
-
Atlikite atitinkamą veiksmą, atsižvelgdami į tai, ar naudojate "Microsoft SQL Server", "SQL Server" kompiuterio modulio (dar vadinamo MSDE 2000):
-
Jei naudojate "Microsoft SQL Server 2000", SQL užklausų analizatorių. Norėdami tai padaryti, spustelėkite Pradžia, nukreipkite žymiklį į Programos, nukreipkite žymiklį į Microsoft SQL Server, tada spustelėkite Užklausų analizatorius.
-
Jei naudojate "Microsoft SQL Server 2005", paleiskite "SQL Server Management Studio". Norėdami tai padaryti, spustelėkite Pradžia, nukreipkite žymiklį į Programos, nukreipkite žymiklį į Microsoft SQL Server 2005" , tada spustelėkite "SQL Server Management Studio".
-
Jei naudojate MSDE 2000, paleiskite palaikymo administratoriaus konsolę. Norėdami tai padaryti, spustelėkite Pradžia , nukreipkitežymiklį į Programos, nukreipkite žymiklį į "Microsoft" administratoriaus konsolė, tada spustelėkite Palaikymo administratoriaus konsolė.
-
-
Vykdykite šį sakinį sistemos duomenų bazėje.
Delete from AppsrvRequest
Delete from Scheduler
DBCC CHECKIDENT('AppSrvRequest',RESEED, 0)Pastaba Po šių veiksmų panaikinamos visos suplanuotos užklausos. Turite iš naujo sukurti suplanuotas užklausas.
-
Išvalykite lentelę ReportCatalog naudodami SQL užklausų analizatorių arba "SQL Server Management Studio". FRx integravimo tarnyba persvarsto lentelę su teisinga reikšme lauke AppSrvRequest ID. Norėdami tai padaryti, vykdykite šį sakinį įmonės duomenų bazėje.
DELETE ReportCatalog