V4MD - Error -39

Roland Hildebrandt r.hildebrandt at sbt.fr
Tue Sep 7 15:54:58 CDT 2004


Hi everyone,

On a database created with V4MD 1.9.8 on windows, with director 8.51 I get an error -39 while trying to make an insert using sqlexecute. We use 4 files formated for our databases (vdb ind dat (blb)).

The error happens only when some valentina code has been called from director before I make the insert.

In our project we use several instances of the valentina XTRA at the same time in order not to have to recreate instances of the XTRA each time we change database files.

Our project works fine for several months before the error comes up. And this using the same code.

So to sum up the only way to have the bug is :
* Using a database which has been used for several months (no bug on a clean database)
* Execute the insert using the code below (if you erase even one line of the code the insert works fine)

I tried several things which does not solve the problem including using XTRA 1.10... 

This is not due to some ponctual crash. Our client lost his databases on about 20 different computers (windows) during a week after 6 months of use without any problems. So it seems the problem is linked with an important amount of data in the database.

The code which causes the error is the following :

=====================================
ValentinaDebugLevel(1) 
ValentinaInit( 100 * 1024, "", myserial )

myBaseA = new(xtra"VDataBase")
SetEncryption( myBaseA,"gloubiboulga" )
openDatabase(myBaseA, the moviepath & "bases\Accounts")

myBaseB = new(xtra"VDataBase")
SetEncryption( myBaseB,"gloubiboulga" )
openDatabase(myBaseB, the moviepath & "bases\Scoring")

myBaseC = new(xtra"VDataBase")
SetEncryption( myBaseC,"gloubiboulga" )
openDatabase(myBaseC, the moviepath & "bases\Data")

sqlstring="INSERT INTO Accounts_profil (Cle_accounts_profil, seniorid, date_training, ind_m, ind_a, ind_l, ind_fe, ind_vs) VALUES (769,1,'02/02/2004',10,10,10,10,10 )"
SqlExecute(mybaseA, sqlstring)
=> error -39

================================


I have also made a diagnose on the Accounts Database (see below). The other ones (Scoring and Data) are not so important as far as we get the same bug even with clean Data and Scoring. So the problem seems to come from the Accounts Database.

I searched a big part of the valentina list archive for error -39 and I have found that this is an end of file error of the vdb file on macintosh. And also saw that this happens often with old valentina versions but not anymore with the newer ones.

So if someone has any ideas (error -39 , several instances of XTRA , amount of data which changes the way it works etc...) about this complicated bug this would be wonderful. I can send a test project. Or some other information.


Best reagrds

Roland hildebrandt




DIAGNOSE of ACCOUNTS before the bug : (Table has 3 physical records but field has 256 : This errors are linked to encryption and don't cause any problems in our other projects)

After the bug happens we can't even open the accounts database we allways get error -39.





Problems found!************************************************************************
* BaseObject: "sysItemDescription"
************************************************************************
All right.-----> Field: "Kind' of type Long
All right.-----> Field: "ParentPtr' of type ObjectPtr
All right.-----> Field: "ColumnName' of type VarChar
All right.-----> Field: "ColumnType' of type Byte
All right.************************************************************************
* BaseObject: "sysItem"
************************************************************************
All right.-----> Field: "ItemDescrPtr' of type ObjectPtr
All right.-----> Field: "Value' of type VarChar
All right.-----> Field: "TextValue' of type Text
All right.-----> Field: "ParentPtr' of type ObjectPtr
All right.************************************************************************
* BaseObject: "Accounts"
************************************************************************
Problems found.-----> Field: "Cle_accounts' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Seniorid' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Langue' of type Byte
Problems found!(!) Table has 3 physical records but field has 1024
-----> Field: "Nom' of type VarChar
All right.-----> Field: "Prenom' of type VarChar
All right.-----> Field: "Birthday' of type DateTime
Problems found!(!) Table has 3 physical records but field has 128
-----> Field: "Adresse1' of type VarChar
All right.-----> Field: "Diplome' of type Byte
Problems found!(!) Table has 3 physical records but field has 1024
-----> Field: "Sexe' of type String
Problems found!(!) Table has 3 physical records but field has 512
-----> Field: "Date_seance' of type DateTime
Problems found!(!) Table has 3 physical records but field has 128
-----> Field: "Results' of type String
Problems found!(!) Table has 3 physical records but field has 48
-----> Field: "Ind1' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids1' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind2' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids2' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind3' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids3' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind4' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids4' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind5' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids5' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind6' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids6' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind7' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids7' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind8' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids8' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind9' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids9' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind10' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids10' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind11' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids11' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind12' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids12' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind13' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids13' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind14' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids14' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind15' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids15' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind16' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids16' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind17' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids17' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind18' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids18' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind19' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids19' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind20' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids20' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind21' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids21' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind22' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids22' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind23' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids23' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind24' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids24' of type Long
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Ind25' of type Float
Problems found!(!) Table has 3 physical records but field has 256
-----> Field: "Poids25' of type Long
Problems found!(!) Table has 3 physical records but field has 256
************************************************************************
* BaseObject: "Accounts_profil"
************************************************************************
All right.-----> Field: "Cle_accounts_profil' of type Long
All right.-----> Field: "Seniorid' of type Long
All right.-----> Field: "Date_training' of type DateTime
All right.-----> Field: "Ind_M' of type Float
All right.-----> Field: "Ind_A' of type Float
All right.-----> Field: "Ind_L' of type Float
All right.-----> Field: "Ind_FE' of type Float
All right.-----> Field: "Ind_VS' of type Float
All right.************************************************************************
* BaseObject: "PersonalResult0001"
************************************************************************
Problems found.-----> Field: "Cle_personalresult' of type Long
Problems found!(!) Table has 765 physical records but field has 768
-----> Field: "Seniorid' of type Long
Problems found!(!) Table has 765 physical records but field has 768
-----> Field: "Gameid' of type Long
Problems found!(!) Table has 765 physical records but field has 768
-----> Field: "Num_PR' of type Long
Problems found!(!) Table has 765 physical records but field has 768
-----> Field: "Cleconfig' of type String
Problems found!(!) Table has 765 physical records but field has 796
-----> Field: "Jour_PR' of type DateTime
Problems found!(!) Table has 765 physical records but field has 768
-----> Field: "Langue' of type Byte
Problems found!(!) Table has 765 physical records but field has 1024
-----> Field: "Detail_PR' of type VarChar
All right.-----> Field: "Indicateurs_PR' of type VarChar
All right.-----> Field: "cle_accounts_single_cnx' of type Long
Problems found!(!) Table has 765 physical records but field has 768


More information about the Valentina mailing list