Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1086 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Table trop "massive"...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Table trop "massive"...

n°890106
BenjiiP
Posté le 04-11-2004 à 11:58:02  profilanswer
 

Bonjour, voilà il m'est impossible d'effectuer des requêtes sur une table via le driver Paradox d'odbc (appelé dans du code php) car elle est trop "massive", si j'enleve des données tout se passe bien mais sinon j'obtiens un message d'erreur:

Code :
  1. Warning: odbc_exec(): SQL error: [Microsoft][Pilote ODBC Paradox] Erreur inattendue du pilote de base de données externe (12034)., SQL state S1000 in SQLExecDirect


 
 
Donc ma ptite question c'est de savoir s'il y a un moyen de corriger ce problème pour que je puisse effectuer des requêtes sur cette table, sachant que la connexion est établie.
 
Merci d'avance  :)


Message édité par BenjiiP le 04-11-2004 à 12:05:52
mood
Publicité
Posté le 04-11-2004 à 11:58:02  profilanswer
 

n°890126
Arjuna
Aircraft Ident.: F-MBSD
Posté le 04-11-2004 à 12:26:02  profilanswer
 

Essaie de passer par une vue, qui filtre déjà les lignes. Avec un peu de pot...
 
Ceci-dit, à mon avis, t'as guère d'autre choix, à terme, que de passer à un SGBD un peu plus puissant, parceque si mes connaissances sont exactes, Paradox n'a de mieu qu'Access que le fait que c'est pas Microsoft, non ?

n°890130
BenjiiP
Posté le 04-11-2004 à 12:30:21  profilanswer
 

Je dois avouer que je ne m'y connais pas trop encore en SGBD mais malheureusement je ne peux en changer car je me base sur des tables deja existante utilisée par un autre logiciel :/

n°890166
Arjuna
Aircraft Ident.: F-MBSD
Posté le 04-11-2004 à 13:36:58  profilanswer
 

Je suis tout à fait d'accord pour la limitation de l'existant, c'est un problème que je rencontre régulièrement (par contre, pas avec cette limitation, qui me semble tout de même assez important pour mériter étude d'un changement, car un jour le logiciel existant rencontrera certainement le même problème...)
 
Alors, plusieurs solutions possibles :
1) Etudider la faisabilité d'une upgrade de la base existante vers un autre SGBD plus performant et plus puissant (Oracle, MSSQL Server, DB2, etc. Evite MySQL qui risque d'apporter trop de limitation et interdire la faisabilité d'une telle migration). Si le soft en question est correctement écrit, alors il n'y aura peut-être même pas besoin de toucher au programme lui-même (s'il utilise un pont OLE DB ou ODBC par exemple, à 99% le code du soft ne sera pas impacté par le changement de la base)
 
2) Si ce n'est pas possible (pas le budget, trop de choses à modifier dans le soft existant, refus de la part de l'éditeur du soft, etc.) alors tu as la solution de créer un autre serveur de base de données, courrament appelé "INFOCENTRE". Il s'agit d'un autre serveur (avec le même SGBD ou non) qui contient les données dont ont besoin les programmes annexes, sous la même forme, ou une forme plus facilement exploitable, et filtrées. Ce type de serveur est généralement synchronisé par batch une fois par jour. Cela demande pas mal de boulot en plus, mais cela à l'avantage de ne pas toucher à l'existant, et d'ensuite bénéficier d'une base de données propre et aisément utilisable par les autres interfaces (BO, site web, outils de reporting, etc.)
 
3) Contacter l'éditeur de Paradox afin d'en savoir plus sur cette erreur, afin de savoir s'il existe un patch pour y rémédier (mise à jour du moteur du SGBD, ou mise à jour du drivers)
 
Dans tous les cas, si Paradox supporte les vues je te conseille de commencer par cette solution : ça te permettra de lire dans une "table virtuelle" dont les lignes sont déjà filtrées et donc moins volumineuses. Ca pourrait résoudre ton problème (et en plus c'est plus rapide, et ça ne change rien à la volumétrie des données, et les données sont rafraîchies en temps réel)

n°890194
BenjiiP
Posté le 04-11-2004 à 14:02:50  profilanswer
 

Je pense que le problème ne vient pas de Paradox mais du pilote d'ODBC puisque le programme principal n'a aucun probleme lui pour effectuer des requêtes sur cette table et passe par un centre d'administration Borland apparemment. Mais bon, je vais essayer de passer par les vues pour voir si cela peut m'aider à avancer, encore merci à toi :)


Message édité par BenjiiP le 04-11-2004 à 14:06:02
n°890256
BenjiiP
Posté le 04-11-2004 à 15:10:05  profilanswer
 

Apparement ce n'est pas une question de taille apres revérification du fichier principale, il fait 1100 Ko alors que d'autres tables font 18000 Ko, par contre la table qui me pose probleme fait appel a plein d'aytres fichiers, bien plus que pour les autres tables.

n°890257
Arjuna
Aircraft Ident.: F-MBSD
Posté le 04-11-2004 à 15:11:41  profilanswer
 

fichiers ?

n°890262
BenjiiP
Posté le 04-11-2004 à 15:16:47  profilanswer
 

Il y a les fichiers en .DB qui représente le schéma de la table on va dire (malgré le fait qu'ils contiennent aussi du contenu de la tbale) et d'autres fichiers ayant le même nom et dotée d'une extention en .X?? et .Y?? (? pouvant être une lettre ou un chiffre), des fichiers .MB tout ces fichiers étant le contenu de la table et des fichiers .PX qui contiennent des chaînes incompréhensibles :)


Message édité par BenjiiP le 04-11-2004 à 15:23:10
n°890263
BenjiiP
Posté le 04-11-2004 à 15:17:34  profilanswer
 

Petite erreur, je m'excuse...


Message édité par BenjiiP le 04-11-2004 à 15:18:11
n°890278
Arjuna
Aircraft Ident.: F-MBSD
Posté le 04-11-2004 à 15:30:24  profilanswer
 

Ca m'a l'air bien bordélique :D
 
Je ne pense pas que ça puisse expliquer ton problème, à moins que tu aies un fichier de données corrompu.
 
Tu peux essayer de créer une nouvelle table avec la même scruture (create table nouvelle as select * from lavieille) et remettre dessus les mêmes indexs (si tu en as)
 
Appelle ensuite cette table depuis ton PHP :
-> Si ça plante, alors le problème vient d'ailleurs
-> Si ça plante pas, alors à priori c'est ça le problème
-> Si ça plante lors de la création de la table, alors c'est clairement ça le problème

mood
Publicité
Posté le 04-11-2004 à 15:30:24  profilanswer
 

n°890281
MagicBuzz
Posté le 04-11-2004 à 15:31:23  profilanswer
 

BenjiiP a écrit :

Il y a les fichiers en .DB qui représente le schéma de la table on va dire (malgré le fait qu'ils contiennent aussi du contenu de la tbale) et d'autres fichiers ayant le même nom et dotée d'une extention en .X?? et .Y?? (? pouvant être une lettre ou un chiffre), des fichiers .MB tout ces fichiers étant le contenu de la table et des fichiers .PX qui contiennent des chaînes incompréhensibles :)


Je ne suis pas un fichier incompréhensible :o

n°890287
Arjuna
Aircraft Ident.: F-MBSD
Posté le 04-11-2004 à 15:36:42  profilanswer
 

:ange:

n°890288
BenjiiP
Posté le 04-11-2004 à 15:37:01  profilanswer
 

Arjuna a écrit :

Ca m'a l'air bien bordélique :D


 
Oui à moi aussi comme je débute, je trouve ca pas mal bordelique du tout (je connaissais seulement et pas énormément les bases de données MSAccess et ce n'est pas du tout pareil :)) mais bon c'est comme ça que ca marche, toutes les tables sont dans un même répertoire et le schéma de la base et son contenu sont séparés dans divers fichiers, il n'y a que les fichiers en .PX dont je n'ai pas trouvé l'utilité puisqu'ils sont incompréhensibles  :D

n°890290
BenjiiP
Posté le 04-11-2004 à 15:39:09  profilanswer
 

MagicBuzz a écrit :

Je ne suis pas un fichier incompréhensible :o


 
Ne t'inquiète pas le contenu des fichiers .MB est tout à fait compréhensible, seul celui des .PX est indescriptible  :lol:

n°893123
BenjiiP
Posté le 08-11-2004 à 12:20:32  profilanswer
 

Apparement en passant par le BDE et le pilote Paradox natif ca réglerait mon problème mais je ne sais pas du tout comment faire  :??:

n°893323
Arjuna
Aircraft Ident.: F-MBSD
Posté le 08-11-2004 à 14:34:05  profilanswer
 

Je doute que tu puisse résoudre ton problème simplement malheureusement...
 
A mon avis, il faut que tu te fasses une DLL ou CGI en C++, utilisant le drivers natif, qui te permet d'éxécuter une requête et la renvoyer à ton appli. Mais là je te souhaite bon courage, parceque c'est corsé comme truc :/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Table trop "massive"...

 

Sujets relatifs
[C#] inserer une image dans un champs blob d'1 table oracle[Conseil]Présentation d'une page web <table>?
Comment gérer les entrées de cette table ?[MySQL] Optimisation requete sur ENORME table ...
Bug IE + tableRenommer une table
[VB.net] recuperer nom table d'une base de donnée[PHP/MySQL] affichage dans l'ordre inverse de la table ?
Comment supprimer les doublons d'une Table mysql ?[RESOLU] equivalent "show table"
Plus de sujets relatifs à : Table trop "massive"...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR