Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Autres EDI > 4D
4D Forum d'entraide sur 4D. Avant de poster -> FAQ 4D
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/11/2012, 20h10   #1
SLiM_ViNCe
Futur Membre du Club
 
Inscription : août 2009
Messages : 11
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 11
Points : 15
Points : 15
Par défaut 4D ODBC Driver v12 et ASP.Net

Bonjour à tous,

J'ai plusieurs soucis avec le drivers ODBC 4D v12. Je dois développer un site internet en ASP.Net 4.0 utilisant des données d'une base 4D mais il y a beaucoup de soucis.

Pas de soucis avec l'installation du drivers, après test, j'ai un beau "SUCCESS" réjouissant.

Mais voici les problèmes rencontrés :

Problème 1

Sur une page lambda, Default.aspx, j'appelle une méthode Y qui me retourne les résultats d'un select simple (ex : "select id from customer limit 10"). cette méthode ouvre un objet OdbcConnection puis le ferme proprement (Close + Dispose), de même pour les OdbcCommand et OdbcReader. Je lance cette page une fois, pas de souci, mes données s'affichent correctement. J'appuie sur F5 pour rafraîchir ma page, j'ai un beau message d'erreur qui vient de l'ouverture de la connexion ODBC : "ERROR [08001] Client unable to establish connection".

Quelqu'un aurait-il une explication à ce phénomène ?

Ma conclusion est que la fermeture de la connexion précédente ne s'est peut être pas effectuée correctement ou n'est pas terminée mais je n'ai aucun moyen de le vérifier et donc de m'adapter convenablement...

Problème 2

Que nenni, je n'abandonne pas, je me dis qu'il doit bien y avoir une solution même un peu sale. Je crée alors une variable globale dans ma couche d'accès aux données côté .Net, avec le pattern Singleton, qui va ouvrir la connexion ODBC une fois pour ne "jamais" la refermer (i.e. ne la refermer qu'au recycle de l'ApplicationPool IIS ou un restart du site ou de IIS).
Ici, beaucoup moins de soucis, voir aucun jusqu'à aujourd'hui (1 semaine de requêtage intense !!) où j'ai de beaux messages "Failed to authenticate" et autres messages d'erreurs.

Dans ce 2ème cas, y a-t-il un moyen de tracer l'erreur côté 4D ? De comprendre ce qu'il se passe entre le driver ODBC et le serveur ?

En gros, si quelqu'un a déjà fait l'expérience d'un site ASP.Net en n-tiers avec une couche d'accès aux données propres et avec une connexion ODBC à 4D, j'aimerai avoir des astuces ou un retour d'expérience autour de la gestion de la connexion car ça m'a l'air sacrément mal fichu ou du moins compliqué avec le peu de doc' sur le web et de sujets sur les forums...

Merci d'avance.
SLiM_ViNCe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2012, 12h42   #2
stanc
Membre habitué
 
Inscription : mai 2007
Messages : 130
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 130
Points : 131
Points : 131
Bonjour,

Je ne connais pas ASP donc je ne me prononcerais pas sur cette partie.

Passes tu par une source de données ?

Pour tenter d'isoler l'origine du problème, as tu essayé avec un autre outil de faire des connexions ODBC (Excel par ex.) ?
stanc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2012, 15h49   #3
SLiM_ViNCe
Futur Membre du Club
 
Inscription : août 2009
Messages : 11
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 11
Points : 15
Points : 15
Bonjour,

Merci pour cette réponse.

Nous avons configuré une source de données ODBC avec le driver adapté (v12, comme le serveur 4D).

Nous avons pris contact avec le support 4D qui n'avait pas de solution à proposer sur ce problème mais qui nous ont conseillé de nous tourner vers les web-services 4D qui sont plus adaptés.

J'ai déjà des connexions ODBC vers du Excel sur ce site et n'ai jamais rencontré de tel difficultés. C'est vraiment lié à la plateforme 4D et à ses spécificités.

De plus, après quelques tests supplémentaires, l'hypothèse principale concernant le problème 1 est la clôture de la connexion ODBC qui s'effectue avec une latence importante côté 4D entre l'affichage de 2 pages web successives.

Nous allons essayer la solution par web-services pour voir ce que ça donne. Je répondrai pour communiquer les résultats de tout cela, ça pourra toujours servir à d'autres têtes brûlées qui voudraient tenter la même chose !
SLiM_ViNCe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2013, 10h28   #4
SLiM_ViNCe
Futur Membre du Club
 
Inscription : août 2009
Messages : 11
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 11
Points : 15
Points : 15
Suite aux différents tests effectués et à la mise en production du projet pour lequel il y avait une connexion à 4D a effectuer, la solution par webservice semble bien plus adaptée même si pour le coup, elle nécessite d'être développée par un développeur 4D. Mais ça fonctionne sans souci.

Je note le sujet comme étant résolu.
SLiM_ViNCe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h46.


 
 
 
 
Partenaires

Hébergement Web