mojaSymfonia FORUM
https://forum.mix-soft.pl/

HMF 2010.2 Błąd konwersji bazy danych
https://forum.mix-soft.pl/viewtopic.php?f=2&t=2256
Strona 1 z 1

Autor:  bartek [ 2010-08-07, 14:32 ]
Tytuł:  HMF 2010.2 Błąd konwersji bazy danych

Mam problem podczas konwersji bazy symfonii handel forte z 2010.1 na 2010.2. Podczas wykonywania tej operacji otrzymuję komunikat: "Błąd konwersji bazy danych. Invalid value 0 for state. Valid range is from 1 to 127". Znany jest może komuś ten problem?

Autor:  nick [ 2010-08-09, 12:45 ]
Tytuł: 

Znany.
Miałem to samo testując konwersję na SQL Server 2005 Express Edition.
W Standard Edition nie było tego problemu.

Autor:  bartek [ 2010-08-09, 13:13 ]
Tytuł: 

Hm. Ja niestety robię na SQL Standard więc problem pojawia się pewnie z różnych powodów.

Autor:  Czarna Owca [ 2010-11-25, 14:59 ]
Tytuł: 

Błąd spowodowany jest przekazaniem złego parametru do funkcji RAISERROR.

Z dokumentacji Microsoftu:

Syntax
RAISERROR ( { msg_id | msg_str } { , severity , state }
[ , argument [ ,...n ] ] )
[ WITH option [ ,...n ] ]


...

state

Is an arbitrary integer from 1 through 127. A negative value for state defaults to 1. The value 0 or values larger than 127 generate an error.

Przypisanie parametrowi state wartości 0 wywołuje błąd:

Server: Msg 2756, Level 16, State 1, Line 1
Invalid value 0 for state. Valid range is from 1 to 127.


Niestety w procedurach aktualizacji bazy Handel Forte można zobaczyć:

RAISERROR( 'Tabela ZO - Nowe pola : walNetto i walBrutto', 0, 0 ) WITH NOWAIT

Aby przeprowadzić poprawną aktualizację trzeba w bazie modelowej - HMmodel (wersji 2010.2a) zmodyfikować procedury, które są uruchamiane w trakcie tej aktualizacji i parametr stan maja ustawiony na 0. Mogą to być:

amsyshm_Upg_ZO_13
amsyshm_Upg_ZP_5
amsyshm_Upg_DK_16
amsyshm_Upg_DP_6

amsyshm_Upgrade_To_314
amsyshm_Upgrade_To_320
amsyshm_Upgrade_To_328
amsyshm_Upgrade_To_336

Przykładowo polecenie:

RAISERROR( 'Tabela ZO - Nowe pola : walNetto i walBrutto', 0, 0 ) WITH NOWAIT

zamienić trzeba na

RAISERROR( 'Tabela ZO - Nowe pola : walNetto i walBrutto', 0, 1 ) WITH NOWAIT


Dopiero po tej zmianie należy uruchomić aktualizację bazy 2010.1 do 2010.2a.

Sprawa jest trochę bardziej skomplikowana, bo zachowanie aktualizacji jest różne na różnych wersjach SQL'a.
Błąd pojawia się na wersji:

Microsoft SQL Server 2005 - 9.00.1399.06 Developer Edition (Build 2600: Dodatek Service Pack 3)

natomiast nie pojawia się na:

Microsoft SQL Server 2005 - 9.00.3042.00 Workgroup Edition (Build 3790: Dodatek Service Pack 2)

Załączniki:
Komentarz: print screen błędu podczas aktualizacji bazy Handel Forte z wersji 2010.1 do 2010.2a
RAISERROR.PNG
RAISERROR.PNG [ 17.08 KiB | Przeglądany 3523 razy ]

Autor:  waldi [ 2010-12-18, 17:37 ]
Tytuł: 

Miałem to samo przy upg do 2011, SP3 do SQL2005, rozwiązał problem.

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/