Je ne comprends pas ce qui se passe avec une connexion par sqlconnecte.
Cela perd la connexion sgbd au bout de 2 niveaux de composants.
je me connecte depuis le projet
j'appelle un composant; la connexion sgbd est ok
ce composant appelle un composant ; il n'y a plus de connexion active.
Cela le fait avec les accès natif pcsoft mySQL et Oracle.
Cela ne le fait pas avec les accès alternatifs ?
Qui a une idée ? Parmis les alternativistes, qui sait pourquoi le
comportement est différent ?
--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
elecoest
> Cela le fait avec les accès natif pcsoft mySQL et Oracle. Cela ne le fait pas avec les accès alternatifs ?
Un bon point pour nous :-)
Qui a une idée ? Parmis les alternativistes, qui sait pourquoi le comportement est différent ?
Une idée comme çà : je dirais que cela vient de la gestion de la connexion à la base par Windev. Avec les accès de l'éditeur, tout ce fait au sein du composant (certainement) au même sens que cela le fait avec ton programme. Avec les accès alternatifs, comme tu charges (physiquement) une DLL tu utilises un espace mémoire allouée SPECIFIQUEMENT pour ta connexion. Elle reste donc ouverte et n'est pas susceptible d'être ecrasée par un autre objet.
Sinon, pourquoie ne pas créé un compoasnt thread de connexion sur le poste client qui serait à l'écoute de tes composants métier ?
-- Emmanuel
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
> Cela le fait avec les accès natif pcsoft mySQL et Oracle.
Cela ne le fait pas avec les accès alternatifs ?
Un bon point pour nous :-)
Qui a une idée ? Parmis les alternativistes, qui sait pourquoi le
comportement est différent ?
Une idée comme çà : je dirais que cela vient de la gestion de la connexion à
la base par Windev. Avec les accès de l'éditeur, tout ce fait au sein du
composant (certainement) au même sens que cela le fait avec ton programme.
Avec les accès alternatifs, comme tu charges (physiquement) une DLL tu
utilises un espace mémoire allouée SPECIFIQUEMENT pour ta connexion. Elle
reste donc ouverte et n'est pas susceptible d'être ecrasée par un autre
objet.
Sinon, pourquoie ne pas créé un compoasnt thread de connexion sur le poste
client qui serait à l'écoute de tes composants métier ?
--
Emmanuel
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
> Cela le fait avec les accès natif pcsoft mySQL et Oracle. Cela ne le fait pas avec les accès alternatifs ?
Un bon point pour nous :-)
Qui a une idée ? Parmis les alternativistes, qui sait pourquoi le comportement est différent ?
Une idée comme çà : je dirais que cela vient de la gestion de la connexion à la base par Windev. Avec les accès de l'éditeur, tout ce fait au sein du composant (certainement) au même sens que cela le fait avec ton programme. Avec les accès alternatifs, comme tu charges (physiquement) une DLL tu utilises un espace mémoire allouée SPECIFIQUEMENT pour ta connexion. Elle reste donc ouverte et n'est pas susceptible d'être ecrasée par un autre objet.
Sinon, pourquoie ne pas créé un compoasnt thread de connexion sur le poste client qui serait à l'écoute de tes composants métier ?
-- Emmanuel
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
Roumegou
Plus de précisions avec des projets et composants simples.
Depuis un projet Niv1, je me connecte par sql connecte accès SGBD OK j'appelle un composant Niv2 accès SGBD Ok Niv2 appelle un composant Niv3 accès SGBD Ok
La connexion sgbd est maintenue. Par contre il faut que Niv1 ait importé les composants Niv2 et Niv3 (meme si Niv3 n'est appelé que depuis Niv2).
Si Depuis Niv1, je me connecte en utilisant un objet de Niv3 (proc globale de Niv3: ConnecteToi()); je n'aurais pas l'accès dans Niv2. (sauf apparamment, si j'utilise des classes ou fonction du composant Niv3)
Conclusion : La connexion doit se faire dans le projet de 1er Niveau; sans utiliser d'objet d'un composant. Mais ce que je ne comprends pas encore, c'est que si je me connecte "en dur" dans mon premier projet, dès que j'accède à la base en utilisant mon composant de gestion des sgbd (classes et fonctions); je n'ai pas la connexion. Cette idée "d'encapsuler" (pardon si le terme est impropre) mes classes d'accès natifs dans un composant butte là dessus.
-- Eric Roumegou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Plus de précisions avec des projets et composants simples.
Depuis un projet Niv1, je me connecte par sql connecte accès SGBD OK
j'appelle un composant Niv2 accès SGBD Ok
Niv2 appelle un composant Niv3 accès SGBD Ok
La connexion sgbd est maintenue. Par contre il faut que Niv1 ait
importé les composants Niv2 et Niv3 (meme si Niv3 n'est appelé que
depuis Niv2).
Si Depuis Niv1, je me connecte en utilisant un objet de Niv3 (proc
globale de Niv3: ConnecteToi()); je n'aurais pas l'accès dans Niv2.
(sauf apparamment, si j'utilise des classes ou fonction du composant
Niv3)
Conclusion : La connexion doit se faire dans le projet de 1er Niveau;
sans utiliser d'objet d'un composant.
Mais ce que je ne comprends pas encore, c'est que si je me connecte "en
dur" dans mon premier projet, dès que j'accède à la base en utilisant
mon composant de gestion des sgbd (classes et fonctions); je n'ai pas
la connexion.
Cette idée "d'encapsuler" (pardon si le terme est impropre) mes
classes d'accès natifs dans un composant butte là dessus.
--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Plus de précisions avec des projets et composants simples.
Depuis un projet Niv1, je me connecte par sql connecte accès SGBD OK j'appelle un composant Niv2 accès SGBD Ok Niv2 appelle un composant Niv3 accès SGBD Ok
La connexion sgbd est maintenue. Par contre il faut que Niv1 ait importé les composants Niv2 et Niv3 (meme si Niv3 n'est appelé que depuis Niv2).
Si Depuis Niv1, je me connecte en utilisant un objet de Niv3 (proc globale de Niv3: ConnecteToi()); je n'aurais pas l'accès dans Niv2. (sauf apparamment, si j'utilise des classes ou fonction du composant Niv3)
Conclusion : La connexion doit se faire dans le projet de 1er Niveau; sans utiliser d'objet d'un composant. Mais ce que je ne comprends pas encore, c'est que si je me connecte "en dur" dans mon premier projet, dès que j'accède à la base en utilisant mon composant de gestion des sgbd (classes et fonctions); je n'ai pas la connexion. Cette idée "d'encapsuler" (pardon si le terme est impropre) mes classes d'accès natifs dans un composant butte là dessus.
-- Eric Roumegou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Roumegou
Roumegou vient de nous annoncer :
Oui, c'est bien cela. Avec les accès natifs, la portée de la connexion ne va que dans l'objet lui meme et dans les objets appelés.
Il n'est pas possible de se connecter avec un composant et d'accèder ensuite en dehors de ce composant au sgbd.
Bref, je suis dans la mouise ! Qu'est ce que ça peut me faire ch... de passer toute une journée pour m'apercevoir que c'est une bonne grosse limite de Windev.:
Comment éviter d'avoir les classes et procédures plusieurs fois lorsque l'on utilise des composants ? On m'avais promis des problèmes là dessus ... je confirme.
-- Eric Roumegou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Roumegou vient de nous annoncer :
Oui, c'est bien cela. Avec les accès natifs, la portée de la connexion
ne va que dans l'objet lui meme et dans les objets appelés.
Il n'est pas possible de se connecter avec un composant et d'accèder
ensuite en dehors de ce composant au sgbd.
Bref, je suis dans la mouise !
Qu'est ce que ça peut me faire ch... de passer toute une journée pour
m'apercevoir que c'est une bonne grosse limite de Windev.:-@.
Comment éviter d'avoir les classes et procédures plusieurs fois lorsque
l'on utilise des composants ?
On m'avais promis des problèmes là dessus ... je confirme.
--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Oui, c'est bien cela. Avec les accès natifs, la portée de la connexion ne va que dans l'objet lui meme et dans les objets appelés.
Il n'est pas possible de se connecter avec un composant et d'accèder ensuite en dehors de ce composant au sgbd.
Bref, je suis dans la mouise ! Qu'est ce que ça peut me faire ch... de passer toute une journée pour m'apercevoir que c'est une bonne grosse limite de Windev.:
Comment éviter d'avoir les classes et procédures plusieurs fois lorsque l'on utilise des composants ? On m'avais promis des problèmes là dessus ... je confirme.
-- Eric Roumegou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)