[Résolu][Base] limites de stockage d'une table

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
loup_gcl
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 02 nov. 2023 22:48

[Résolu][Base] limites de stockage d'une table

Message par loup_gcl »

bonjour, je n'ai cette fois ci non pas un problème mais plutôt une question !

j'expose le contexte ici:
j'ai le projet de créer une base de donnée via un document Base permettant d'enregistrer beaucoup d'information.
environ 20 tables donc 12 d'entres elles contenant 6 colonnes et avec un maximum de 100 000 lignes. 4 colonnes sont de type memo avec environ 200 caractères.

Mon premier problèmes est une question de mémoire, j'ai pu lire sur le forum que une fois avoir rencontrer le problèmes que le fichier base sature d'information lorsqu'on lui injectes trop de requêtes. Et que l'affichage des valeurs reste impossible une fois le problèmes survenu.
Mon but était de tester l'efficacité de calcul de la base une fois la quantité de donnée stocké. Ce qui me semble être une bonne idée avant de commencer concrètement mon projet. Cependant via cette limite, je ne peux m'assurer du bon fonctionnement de cette dernière une fois remplie. J'ai essayer de deux manière différente:

-1 j'utilise une macro exécutant un insert dans ma table, j'ai tester de le faire 10 000 par 10 000, je n'ai pas eu d'erreur d'insertion mais une erreur d'affichage: " S1000 General error java.lang.NullPointerException "

-2 et en insérant 100 000 d'un coup j'ai eu l'erreur du pointeur:" java.io.IOException: java.lang.NullPointerException. "

Connaissez vous un moyen différent afin de réaliser mes tests afin d'avoir une base bien remplie sans qu'elle ne se casse avec le S1000 General error?

Et finalement, la base à elle une réel limites d'affichage comme vécu dans mon premier test 1 ? même une requête select ne veux plus s'exécuter.

merci à tous, bonne soirée
Dernière modification par loup_gcl le 16 déc. 2023 23:24, modifié 3 fois.
LibreOffice 7.5.9.2 sous Windows 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9258
Inscription : 28 août 2010 08:45

Re: [Base] limites fichier et efficacité

Message par micmac »

Bonjour et bienvenue,

Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.

Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?

Lisez ce fil pour savoir quelle balise utiliser : sutra27295.html#27295

N'oubliez pas que les termes Macro, OpenOffice ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.

Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.

Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même au risque de voir votre sujet verrouillé.

Merci de votre collaboration.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 951
Inscription : 19 août 2018 05:20

Re: [Base] limites de stockage du fichier

Message par Dolev »

Bonjour,

Sans macro et sans fichier pour reproduire, comment pensez-vous qu'on puisse aider ?
Open Office 4.1.15 sous Windows 11
loup_gcl
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 02 nov. 2023 22:48

Re: [Base] limites de stockage du fichier

Message par loup_gcl »

bonjour,

je ne vous ai pas partagé de fichier étant donnée que le code de la macro est primaire et ne m'avais pas l'aire de poser de problèmes...

Voici mon fichier en pièces jointes. Afin de tester, j'ai uniquement créer une table de 5 colonnes, la macro remplie les lignes de quelques valeurs, encore loin des 300 caractères et 100 000 lignes dont je vous ai parlé au dessus.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par loup_gcl le 17 déc. 2023 11:13, modifié 1 fois.
LibreOffice 7.5.9.2 sous Windows 10
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 951
Inscription : 19 août 2018 05:20

Re: [Base] limites de stockage du fichier

Message par Dolev »

Vous essayez d'insérer 100.000 lignes avec une clé primaire déclarée avec un entier (integer).
Vous devriez revoir les fondamentaux. :)
Open Office 4.1.15 sous Windows 11
loup_gcl
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 02 nov. 2023 22:48

Re: [Base] limites de stockage du fichier

Message par loup_gcl »

Bonjour,

Pour le moment mon but n'est pas de créer la structure, mais uniquement d'avoir une base bien remplie pour pouvoir faire mes test.
Il ne me semble pas qu'un entier en clé primaire cause de soucis à faire cela ?
LibreOffice 7.5.9.2 sous Windows 10
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 951
Inscription : 19 août 2018 05:20

Re: [Base] limites de stockage du fichier

Message par Dolev »

loup_gcl a écrit : 17 déc. 2023 11:09 mais uniquement d'avoir une base bien remplie pour pouvoir faire mes test.
Il ne me semble pas qu'un entier en clé primaire cause de soucis à faire cela ?
Valeur maximum d'un entier = 32.767
loup_gcl
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 02 nov. 2023 22:48

Re: [Base] limites de stockage du fichier

Message par loup_gcl »

que me conseillez vous comme type de clé primaire alors ?

merci
LibreOffice 7.5.9.2 sous Windows 10
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 951
Inscription : 19 août 2018 05:20

Re: [Base] limites de stockage du fichier

Message par Dolev »

Les différents types de champ sont donnés dans la documentation
https://wiki.openoffice.org/wiki/FR/Doc ... es_entiers

Pour ce qui est de votre macro, elle ne fonctionne pas car elle nécessite l'inscription de la base.
En suivant le suprême de code suivant : http://forum.openoffice.org/fr/forum/vi ... =15&t=1454
Et ce tutoriel : https://beaussier.com/sections/viewtopic.php?f=8&t=1577
Cela fonctionne de la manière suivante :

Code : Tout sélectionner

Sub InsertionEnMasse
	sUrl = ThisDatabaseDocument.URL
	oDC = CreateUnoService("com.sun.star.sdb.DatabaseContext")
	oSrc = oDC.getByName(sUrl)
	oDB = oSrc.getConnection("","")
	oCnx = oDB.createStatement()
	For i = 1 To 20000
	    Dim valeur1 As String
	    Dim valeur2 As String
	    Dim valeur3 As Integer
	    Dim valeur4 As Integer
	    
	    valeur1 = "Valeur " & i
	    valeur2 = "Valeur " & i
	    valeur3 = i
	    valeur4 = i
	    
	    'Construire la requête d'insertion
	    Dim query As String
	    query = "INSERT INTO ""Table"" (""nom"",""prenom"",""age"",""zone"") VALUES ('" & valeur1 & "', '" & valeur2 & "', " & valeur3 & ", " & valeur4 & ")"
	    
	    'Exécuter la requête d'insertion
	    oCnx.executeUpdate(query)
	Next i
	oCnx.dispose
End Sub
Open Office 4.1.15 sous Windows 11
loup_gcl
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 02 nov. 2023 22:48

Re: [Base] limites de stockage du fichier

Message par loup_gcl »

merci pour le retour,

J'ai changé le type de clé primaire pour un BigInt.
En exécutant la macro que vous m'avez partagé, le résultat reste le même, un erreur de NullPointerException... je ne comprends pas d'où peu provenir l'erreur.
Une remarque particulière est que l'erreur ne vient pas toujours à partir d'une certaines lignes, c'est à dire que je peux exécuter 3 fois l'insert de 20.000 et être bloqué au court de la 3eme itération soit >60.000 et <80.000 ou alors exécuter une fois l'insert de 100 000 est avoir l'erreur à la 85.000

une fois l'erreur reçu, je suis obligé de recréer un fichier base sinon l'erreur du PointerNull sera reçu presque des le début de la prochaine insertion que je ferai (même pour une nouvelle table créer).

C'est embêtant sachant que ce n'est pas mon but premier d'inserer 100.000 lignes mais plutôt de savoir si le fichier se comporte bien avec les opérations futur que je vais devoir faire.
LibreOffice 7.5.9.2 sous Windows 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] limites de stockage du fichier

Message par Dude »

Salut,

Aucun problème avec la macro de Dolev, j'ai bien 20.000 tuples enregistrés dans la table de ton ODB.
Testé sous OpenOffice 4.1.14 et Windows 10 Pro.

Je vois ceci :
Dans ta signature, il y a écrit :LibreOffice 7.3.4.2 sous Windows 10
Cette version a été déclarée en fin de vie en 2022.
Mets toi à jour.
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 629
Inscription : 09 août 2017 22:15

Re: [Base] limites de stockage du fichier

Message par Jurassic Pork »

Hello,
avec une version 64 bits LibreOffice 7.6.2.1 et une migration de base hsqldb en firebird, je n'ai pas eu de souci pour insérer 120000 enregistrements même en utilisant un Integer pour la clé primaire ( sans doute à cause du 64 bits). Par contre je trouve que c'est lent pour faire des insertions ( plusieurs dizaines de secondes).
Ami calmant, J.P
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] limites de stockage du fichier

Message par Dude »

HSQLDB avec un BIGINT en clef primaire supporte très bien la charge.
Maintenant l'insertion de 120.000 tuples va effectivement mettre un certain temps (~25 sec).
On peut alors mettre en place une barre de progression.

capture.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12231
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: [Base] limites de stockage du fichier

Message par Bidouille »

Dernière visite : 25 janv. 2024 20:30
Réponses lues et aucune nouvelle, le fil est classé comme résolu.
Merci de le faire par vous-même la prochaine fois.