"Erreur 2004" ? [RESOLU] [VB] - VB/VBA/VBS - Programmation
Marsh Posté le 13-10-2003 à 17:26:07
http://www.experts-exchange.com/Da [...] 36437.html
=> Dépassement de la taille mémoire.
C'est quoi cette requête qui ramène 20 Go de données ?
Marsh Posté le 14-10-2003 à 10:35:12
Merci pour le lien, mais en fait la requête ne se lance même pas : le message d'erreur arrive instantanément après avoir lancé la macro.
Marsh Posté le 14-10-2003 à 12:09:29
Bah... Il doit quand même y avoir un truc de ce genre.
Essaie d'éxécuter la macro en mode pas à pas.
Déjà, ça te permettra d'isoler quelle ligne fout la merde.
Si tu ne trouve toujours pas, alors poste le bout de code en cause (les 10 lignes avant et après) avec la ligne qui merdre, je regarderai si ça ressemble à un problème que j'ai déjà eu.
Marsh Posté le 14-10-2003 à 13:32:39
Ben... en fait j'aurais bien voulu éviter de regarder le code : c'est une macro développée par l'éditeur (externe à la boîte) il y a qques années, sur laquelle des changements non docu ont été effectués, donc bon pas glop...
Mais je sens qu'il va falloir qu'on en passe par là
En tout cas merci de ta proposition j'y repenserai si on reste bloqué
Marsh Posté le 14-10-2003 à 13:39:00
Je pense que tu vas être obligé.
Tu peux aussi tenter une réinstallation d'Office, voir de tout la PC (si c'est lui qui merde)
Sinon, ce matin encore je me suis heurté à un bug d'Excel. En effet, il en a pas mal au niveau du support VBA. Essaie de voir la version exacte (built-in) et compare avec les autres PC.
Peut-être n'as-t-il pas les mêmes patches installés. Avec de la chance ça corrigera le problème sans avoir à regarder la source.
Marsh Posté le 14-10-2003 à 13:53:54
Je ne pense pas que cela vienne du poste de l'utilisateur, car la macro est utilisée sur 3 postes différents, et on obtient la même erreur (2 postes sont en Win2000/Office 97, le 3ème est un poste de test avec Win2000/Office XP).
Marsh Posté le 14-10-2003 à 14:18:52
J'avais cru comprendre que c'était un cas isolé, c'est pour ça
Marsh Posté le 14-10-2003 à 14:58:40
Irulan a écrit : Je ne pense pas que cela vienne du poste de l'utilisateur, car la macro est utilisée sur 3 postes différents, et on obtient la même erreur (2 postes sont en Win2000/Office 97, le 3ème est un poste de test avec Win2000/Office XP). |
Alors il faudrait regarder du coté du poste distant pour voir s'il y a eu des changements ( peut etre des mises à jour de windows ( trou de sécurite ))
Marsh Posté le 14-10-2003 à 16:25:37
Voilà j'ai qques précisions :
- dans la dernière version de la macro (celle utilisée actuellement) la connexion se fait directement d'Excel via un driver ODBC Oracle (v 8.0.6) sans passer par la base Access.
- l'erreur se produit lors de l'appel de la fonction OpenDatabase, alors que lorsque l'on essaie d'accéder directement aux tables Oracle par Excel (Données/données Externes/creer une requete) on arrive à se connecter aux tables d'Oracle sans problème
- En changeant la connexion entre serveur de prod / serveur de test l'erreur demeure (ce n'est donc a priori pas un prob de config du serveur).
Marsh Posté le 14-10-2003 à 16:30:23
Question bête : le client Oracle est bien installé avec les bons TNS dans le TNSNAMES.ORA ?
Parceque sans ça, ODBC ou non c'est la même donne : fatal error pour se connecter à Oracle.
Marsh Posté le 14-10-2003 à 16:37:51
Oui, comme je le disait, il est possible de se connecter directement à la base Oracle via Excel en utilisant le driver ODBC utilisé par la macro. Donc tout est ok de ce côté là.
Marsh Posté le 14-10-2003 à 16:40:11
ah oui, suis-je bête
as-tu essayé de mettre à jour MDAC ?
Marsh Posté le 14-10-2003 à 16:46:10
Non mais on va d'abord tester une réinstall de DAO, j'ai vu dans un forum sur un sujet proche du mien qu'un gars parlait de corruption possible pour la couche DAO ?
Enfin bref on va tester ça et MDAC.
Marsh Posté le 14-10-2003 à 17:52:42
Bon tenez-vous bien, voici le résultat des courses :
- sur le poste avec Office XP : il fallait vider le répertoire c:\temp\ (idée choppée qque part sur le web)
- sur les 2 postes avec Office 97 : vidage de c:\temp\ + (c'est là que c'est marrant) OTER UNE BARRETTE DE 256 Mo DE RAM QUI AVAIT ETE RECEMMENT AJOUTEE
Bonne prise de tête en conclusion...
Encore merci à MagicBuzz et LordII
Marsh Posté le 14-10-2003 à 21:28:05
Irulan a écrit : Non mais on va d'abord tester une réinstall de DAO, j'ai vu dans un forum sur un sujet proche du mien qu'un gars parlait de corruption possible pour la couche DAO ? |
Bah... MDAC et ADO c'est la même chose, ADO fait partie du package MDAC
Marsh Posté le 14-10-2003 à 21:28:55
Irulan a écrit : Bon tenez-vous bien, voici le résultat des courses : |
spa mal ça
Marsh Posté le 13-10-2003 à 15:32:08
Voilà une macro Excel a été mise en place il y a bien longtemps dans notre boîte en vue d'accéder à quelques tables d'une base Oracle (je sais ce n'est pas bien, mais quand je suis arrivé ça existait déjà donc bon). Histoire de continuer dans l'horreur, la macro excel accède à Oracle en utilisant une petite base Access.
Un utilisateur de cette macro n'arrive plus à accéder aux données : lorsqu'il la lance il obtient un message d'erreur avec 'Error 2004' c'est tout, alors que cela fait des mois que cette macro marche.
Après vérification, la base Oracle est toujours debout, on peut toujours y accéder en utilisant les quelques tables Access qui sont liées aux tables Oracle.
Le problème est que le message plus que succint (error 2004 et basta) et que je ne trouve rien comme info pertinente là-dessus : une recherche google me renvoie pas mal de réponses où les gars parlent de pb TCP/IP avec MySQL mais sinon rien d'utile dans ma situation Quelqu'un aurait-il déjà rencontré cette erreur, ou aurait peut-être une piste à creuser ?
Merci d'avance
Message édité par irulan le 14-10-2003 à 17:53:11