Connexion base Gescom Sage ligne 100 via ODBC en ASP

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede guigui44 » Mar 8 Nov 2011 18:17

Bonjour,

J'appelle à la communauté de m'aider sur le problème suivant :

Je souhaite établir une connexion à la base gescom via le driver ODBC en appelant une page web en asp.
La page web est sur le serveur ainsi que le driver ODBC et la base Gescom.

Configuration :
Gescom Sage ligne 100 pack+ V16.05
Driver ODBC V16.02
J'ai le nom de ma base (DP_SOURCEGESCOM) en Source de données système dans l'administrateur de sources de données ODBC.

Voici mon programme en ASP :
<HTML>
<HEAD>
<TITLE>Test connection Gescom</TITLE>
</HEAD>
<BODY>
<%
'Ouvrir la source de données
SET cnxSage = Server.CreateObject("ADODB.Connection")
cnxSage.OPEN "DP_SOURCEGESCOM","<Administrateur>","pwd"

'Fermer la source de données
cnxSage.CLOSE
SET cnxSage = nothing
%>
</BODY>
</HTML>


Or lorsque j'ouvre la page asp en local (sur le serveur), j'ai le message suivant :

Le site Web ne peut pas afficher la page
HTTP 500
Causes les plus probables :
•Le site Web est en cours de maintenance.
•Le site Web présente une erreur de programmation.

Essayez la chose suivante :
Actualisez la page.

Aller à la page précédente.

Informations

Cette erreur (HTTP 500 Erreur interne au serveur) signifie que le site Web que vous visitez a rencontré un problème de serveur qui a empêché l’affichage de la page Web.

Pour plus d’informations sur les erreurs HTTP, consultez l’aide.


J'ai fait des tests :
J'ai le pilotage avec la gescom.
Sur le serveur, j'ai créé un état en utilisant un autre mode d'accès : sql à la carte.
De là, j'ai établi une nouvelle connexion :
- moteur SGBDR : Generic ODBC Data Source
- nom d'user : <Administrateur>
- mot de passe : pwd
- Source de données : DP_SOURCEGESCOM
Connexion réussi

Autre test : je fais une autre connexion sur une autre base, le cube du pilotage.
Voici le programme en asp :

<HTML>
<HEAD>
<TITLE>Test connection Gescom</TITLE>
</HEAD>
<BODY>
<form method="post" action="TestConnection3.asp">
<table>
<tr>
<th>Code article</th>
<th>Désignation</th>
<th>Panier de commande</th>
</tr>
<%
'Ouvrir la source de données
SET cnx = Server.CreateObject("ADODB.Connection")
cnx.OPEN "dbasql_DDP_CUBE"
sql="SELECT AR_REF,AR_DESIGN from F_ARTICLE WHERE AR_SOMMEIL = 0 AND AR_PUBLIE = 1 AND AR_REF < 'C0.75W150-99'"
SET rs = Server.CreateObject("ADODB.RecordSet")
rs.OPEN sql, cnx,3,3,1
Nb=Rs.recordcount
IF nb=0 Then
%>
<p>Aucun enregistrement ne correspond à vos critères de recherche</p>
<% END IF
On error resume next
DO WHILE NOT rs.EOF
%>
<tr>
<td><%=Server.HTMLEncode(rs.Fields("AR_REF").Value)%></td>
<td><%=Server.HTMLEncode(rs.Fields("AR_DESIGN").Value)%></td>
<td>
<input type="checkbox" name=<%=Server.HTMLEncode(rs.Fields("AR_REF").Value)%> id=<%=Server.HTMLEncode(rs.Fields("AR_REF").Value)%> />
</td>
</tr>
<%
Rs.movenext
LOOP
rs.close
cnx.CLOSE
SET cnx = nothing
SET RS = nothing
%>
</table>
<input type="submit" value="Ajouter au panier" />
</form>
</BODY>
</HTML>


Le programme fonctionne, j'obtiens bien les résultats de ma requête

Donc mon problème, c'est de savoir où ça cloche, la syntaxe du programme est a priori correct, les prérequis sont présents...
Merci pour toute l'aide que vous pourrez m'apporter.
Si vous avez besoin d'autres infos, n'hésitez pas à me le demander.
Cordialement,
Guigui44
guigui44
Posteur néophyte
Posteur néophyte
 
Messages: 3
Inscription: Mar 8 Nov 2011 17:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede guigui44 » Jeu 17 Nov 2011 17:27

Re-bonjour,

Je m'aperçois que mon sujet a été lu plusieurs fois et que pour l'instant cela n'a inspiré personne.

Je souhaiterais être sur de mon sujet, c'est à dire, si mon problème est incongru et dans ce cas pourquoi, ou bien si il n'y a vraiment aucune possibilité pour le résoudre.
Dans tous les cas, j'aimerais avoir au moins un avis sur le sujet en question, pouvoir en discuter et ainsi m'orienter sur une autre voie.

En vous remerciant,
Très cordialement,
Guigui44
guigui44
Posteur néophyte
Posteur néophyte
 
Messages: 3
Inscription: Mar 8 Nov 2011 17:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede sevyc64 » Mar 22 Nov 2011 17:44

Salut,

Je sais pas si ça va pouvoir t'aider, mais je viens de mettre en place un site intranet en ASP.Net (et pas ASP), sous IIS6,, avec le drivers odbc de SAGE. J'avais un problème d'accès refusé aux fichiers, à priori un problème de login.

En fait, dans mon cas, il semblerait que IIS ne soit pas capable de passer correctement les information d'authentification à une source ODBC.

J'ai résolu le problème à rajoutant dans le web.config la ligne suivante : <identity impersonate="true" />
sevyc64
Contributeur
Contributeur
 
Messages: 62
Inscription: Ven 15 Juil 2011 08:18

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede guigui44 » Jeu 24 Nov 2011 11:30

Salut Sevyc64,

Merci d'avoir pris le temps de me répondre.
Concernant IIS, c'est curieux qu'il ne puisse pas transmettre correctement les info d'authentification...mais bon.
Je vais essayer avec la modif. du webconfig.
Encore merci pour l'info.
Je te ferai part de mes résultats.
Cordialement,
Guigui44
guigui44
Posteur néophyte
Posteur néophyte
 
Messages: 3
Inscription: Mar 8 Nov 2011 17:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Ven 23 Déc 2011 11:07

Bonjour,
J’ai un problème pour accéder à Sage via ODBC en asp.net 3.5 peut être quelqu’un peut m’aider aussi bien sur la configuration et sur le code
Voici mes configurations :
- OS : Windows server 2003 32 bits
- Base Sage : installé sur un autre serveur
- Application Sage Compta (v16.01) et Sage Ges Comm (v16.01) installées sur la machine pour pouvoir créer les connexions ODBC mais que je n’arrive pas à lancer car j’ai un message (Implémentation CBASE non disponible) (J’espère que ce n’est pas bloquant pour se connecter à sage via ODBC)
- Driver ODBC 16.01 installé
- Ajout dans le fichier web.config de « <identity impersonate="true" /> »
Au moment de la connexion avec une des pages du site Web avec le code suivant :
connectionString = "DSN=SAGEDSN;UID=UserID;PWD=UserPassword";


OdbcConnection connectionOdbc = new OdbcConnection(connectionString);

try
{
connectionOdbc.Open();
}

J’ai l’exception :
ERROR [S1000] [Simba][SimbaEngine ODBC Driver][DRM File Library]Mauvaise version de dossier !
ERROR [IM006] [Microsoft][Gestionnaire de pilotes ODBC] Échec SQLSetConnectAttr du pilote
ERROR [01S00] [Simba][SimbaEngine ODBC Driver]Invalid connection string attribute.
ERROR [01000] [Microsoft][Gestionnaire de pilotes ODBC] Le pilote ne gère pas la version du comportement ODBC demandé par l'application (voir SQLSetEnvAttr).

Merci pour votre aide précieux
Patr





sevyc64 a écrit:Salut,

Je sais pas si ça va pouvoir t'aider, mais je viens de mettre en place un site intranet en ASP.Net (et pas ASP), sous IIS6,, avec le drivers odbc de SAGE. J'avais un problème d'accès refusé aux fichiers, à priori un problème de login.

En fait, dans mon cas, il semblerait que IIS ne soit pas capable de passer correctement les information d'authentification à une source ODBC.

J'ai résolu le problème à rajoutant dans le web.config la ligne suivante : <identity impersonate="true" />
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede sevyc64 » Ven 23 Déc 2011 14:59

patr a écrit:(Implémentation CBASE non disponible)
Je trouve ce message très suspect. Tu utilise bien une édition de ton logiciel identique avec le type de base que tu as ? Ce message laisserais à penser que tu aurais une base propriétaire et que tu n'utiliserais pas une version propriétaire de Sage.

A ma connaissance tu n'as pas besoin d'installer le logiciel Sage pour créer la source ODBC, le drivers suffit. La source ODBC doit être créée sur le(s) poste(s) qui va l'utiliser (et donc aussi le drivers installé sur ce poste). Donc au moins sur ton serveur web.

Par contre, il est possible que tu ais besoin d'installer les outils serveurs Sage pour pouvoir accéder à la base via ODBC, donc outil Serveur Sage partie Serveur sur le poste où est présente physiquement la base, outils Serveur partie client sur les autres postes devant accéder à cette base (dont ton serveur web)
sevyc64
Contributeur
Contributeur
 
Messages: 62
Inscription: Ven 15 Juil 2011 08:18

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Ven 30 Déc 2011 03:15

Bonjour,
Merci pour ta réponse rapide.

Je pense que j'utilises bien une version propriétaire de Sage avec une base en sql server. Si ce n'est pas le cas comment savoir que ce n'est pas une version propriétaire de Sage?

Je regarderais un peu plus ma configuration et peux tu me dire quels modules dans outil Serveur il faut installer?
Il est possible que je te poserai d'autres questions si ca ne te deranges pas trop.

Merci pour ton aide




sevyc64 a écrit:
patr a écrit:(Implémentation CBASE non disponible)
Je trouve ce message très suspect. Tu utilise bien une édition de ton logiciel identique avec le type de base que tu as ? Ce message laisserais à penser que tu aurais une base propriétaire et que tu n'utiliserais pas une version propriétaire de Sage.

A ma connaissance tu n'as pas besoin d'installer le logiciel Sage pour créer la source ODBC, le drivers suffit. La source ODBC doit être créée sur le(s) poste(s) qui va l'utiliser (et donc aussi le drivers installé sur ce poste). Donc au moins sur ton serveur web.

Par contre, il est possible que tu ais besoin d'installer les outils serveurs Sage pour pouvoir accéder à la base via ODBC, donc outil Serveur Sage partie Serveur sur le poste où est présente physiquement la base, outils Serveur partie client sur les autres postes devant accéder à cette base (dont ton serveur web)
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede sevyc64 » Lun 2 Jan 2012 10:47

Je ne sais pas comment on différencie la version propriétaire de la version SQLServer du logiciel. Moi, j'ai une version propriétaire, et je n'ai rien de spécifique de mentionné.

Mais si tu as une base SQLServer, il te faut obligatoirement utiliser une version SQLServer du logiciel.


Pour ce qui est du serveur Sage (je ne suis pas sur de l'utilité du serveur Sage sur une base SQLServer, à confirmer), tu lance l'installation sur le poste serveur, et sur les postes clients, le poste serveur étant la machine qui héberge physiquement la base de données. Dans les premiers écrans, tu as la possibilité de choisir entre 2 modules à installer.
Sur le poste serveur tu installe le module serveur, le module client étant optionnel.
Sur les postes clients, tu installe uniquement le module Client.
sevyc64
Contributeur
Contributeur
 
Messages: 62
Inscription: Ven 15 Juil 2011 08:18

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Mar 10 Jan 2012 16:34

Bonjour,
J'ai finalement réussi à installer les applications SageCompta et SageCom (16.5) mais je n'arrive pas pour l'instant à me connecter à ma base depuis les applis, car l'application utilise le compte windows (la base et le serveur surquel j'ai installé les applis sont sur 2 domaines différentes), bon ce n'est peut être pas très grave pour la suite ..

Donc j'installe le kit odbc (odbcmaes) V16.01\odbc
Je crée les sources ODBC à partir des fichiers .mae et .gcm

Et quand je lance mes tests de connexion, j'ai le message suivant:
ERROR [S1000] [Simba][SimbaEngine ODBC Driver][DRM File Library]Le planning des projets de fabrication n'existe pas !
ERROR [IM006] [Microsoft][Gestionnaire de pilotes ODBC] Échec SQLSetConnectAttr du pilote
ERROR [01000] [Microsoft][Gestionnaire de pilotes ODBC] Le pilote ne gère pas la version du comportement ODBC demandé par l'application (voir SQLSetEnvAttr).
J'ai regardé un peu et Le planning des projets de fabrication a l'air d'être une nouvelle fonctionnalité sur la version 16 de gescom mais pourtant j'ai bien installé une version complète.

Auriez vous une idée par rapport à ce problème? Est ce que c'est lié à la version du kit ODBC. ou est ce qu'une version 16.05 existe pour le kit ODBC?

Merci encore de votre aide



sevyc64 a écrit:Je ne sais pas comment on différencie la version propriétaire de la version SQLServer du logiciel. Moi, j'ai une version propriétaire, et je n'ai rien de spécifique de mentionné.

Mais si tu as une base SQLServer, il te faut obligatoirement utiliser une version SQLServer du logiciel.


Pour ce qui est du serveur Sage (je ne suis pas sur de l'utilité du serveur Sage sur une base SQLServer, à confirmer), tu lance l'installation sur le poste serveur, et sur les postes clients, le poste serveur étant la machine qui héberge physiquement la base de données. Dans les premiers écrans, tu as la possibilité de choisir entre 2 modules à installer.
Sur le poste serveur tu installe le module serveur, le module client étant optionnel.
Sur les postes clients, tu installe uniquement le module Client.
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede sevyc64 » Mar 10 Jan 2012 22:52

A ma connaissance, il n'y a pas de driver odbc spécifique pour la 16.05, c'est la 16.01 qu'il faut utiliser.

Le serveur (logiciel) SAGE doit obligatoirement être installé sur la même machine que les bases.
Quant au serveur (machine) d'application, si c'est bien de ça que tu parles, je ne sais pas si c'est bon qu'il ne soit pas sur le même domaine.

Pour ce qui est de ton message, je ne le connais (et pourtant il me semble qu'il me dit quelque chose). As-tu regarder sur le forum ici, si tu trouve quelque chose ?

Edit :
Je pense à une chose, As-tu paramétrer l'application et créé entièrement ta société ? Il est possible que si ta société n'est pas encore créée tu ne puisse pas accéder avec le driver ODBC.

Avec quel logiciel teste-tu ton driver ODBC ? Moi j'utilise WinSql.
sevyc64
Contributeur
Contributeur
 
Messages: 62
Inscription: Ven 15 Juil 2011 08:18

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Mer 11 Jan 2012 11:06

En fait, il y a déjà un environnement de prod ou les utilisateurs sont connectés.
Pour faire mes dev, on a juste dupliquer la base de prod sur le server de base de données, et installer les applis. Mais comme j'ai dis pour l'instant je n'arrive pas à me connecter à la base car la machine ou j'ai installé les applis ne sont pas dans le même domaine que le serveur de base de donnée, donc j'ai pas encore de société ou est ce que quand le serais dans le même domaine, car je vais intégrer ma machine dans le domaine, les applis se connecteront directement sur la base (dupliquée) quand je selectionnerai les fichiers (.mae et .gcm) et donc sur la société qui a été configurée dessus ? à tester.

Pour le test de connexion j'utilise directement une appli developpé en asp.net, je vais tester winsql pour voir si ca résoud le problème.
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Jeu 12 Jan 2012 11:37

J'ai finalement résolu, la connexion à Sage via ODBC et tu m'as mis sur la piste car c'est grace au fait que je l'ai sur le même domaine.

Je voulais savoir à ton avis si le fait de faire appel au driver odbc depuis une page web ne pose pas de problème, par exemple quand plusieurs utilisateurs seront connectés et effectueront simultanément des traitement.

Tu connaitrais peux être aussi le problématique suivant:
Pour l'insertion des bon de commandes, c'est bien les table f_docentete et f_docligne qui sont impactées, mais je ne voit pas dans les docs le liens forts entre les 2 tables, aurais tu une idée.

Merci

sevyc64 a écrit:A ma connaissance, il n'y a pas de driver odbc spécifique pour la 16.05, c'est la 16.01 qu'il faut utiliser.

Le serveur (logiciel) SAGE doit obligatoirement être installé sur la même machine que les bases.
Quant au serveur (machine) d'application, si c'est bien de ça que tu parles, je ne sais pas si c'est bon qu'il ne soit pas sur le même domaine.

Pour ce qui est de ton message, je ne le connais (et pourtant il me semble qu'il me dit quelque chose). As-tu regarder sur le forum ici, si tu trouve quelque chose ?

Edit :
Je pense à une chose, As-tu paramétrer l'application et créé entièrement ta société ? Il est possible que si ta société n'est pas encore créée tu ne puisse pas accéder avec le driver ODBC.

Avec quel logiciel teste-tu ton driver ODBC ? Moi j'utilise WinSql.
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede sevyc64 » Jeu 12 Jan 2012 14:55

patr a écrit:Je voulais savoir à ton avis si le fait de faire appel au driver odbc depuis une page web ne pose pas de problème, par exemple quand plusieurs utilisateurs seront connectés et effectueront simultanément des traitement.
Pour le moment je ne rencontre pas de problème particulier si ce n'est que le driver odbc de SAGE étant extrêmement lent certaines requêtes plusieurs dizaines de secondes voire plusieurs minutes à s’exécuter.
L'utilisation que j'ai mis en place ne fait quasiment que de la consultation, un peu de modification, mais pas de création d'objets.

Pour l'insertion des bon de commandes, c'est bien les table f_docentete et f_docligne qui sont impactées, mais je ne voit pas dans les docs le liens forts entre les 2 tables, aurais tu une idée.
F_DOCENTETE représente l’entête du document (la partie haute de la fenêtre de saisie dans SAGE), F_DOCLIGNE représente les lignes du document (la partie basse de la fenêtre de saisie).
Il faut que l’entête soit créé avant de pouvoir enregistrer des lignes. Le lien se fait par le champ DO_PIECE qui est le n° de pièce sur l’entête.
Plusieurs informations de l’entête sont reprises pour pré-renseigner les lignes.
sevyc64
Contributeur
Contributeur
 
Messages: 62
Inscription: Ven 15 Juil 2011 08:18

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Mar 24 Jan 2012 12:10

Bonjour,
Merci pour vos réponses.
J'ai réussi à insérer l'entete et un ligne d'un bon de commande mais les données sont actuellement en dur dans le code

Je voudrais juste savoir si tu as un moyen de mieux gérer l'insertion d'un entete.

En gros, pour éviter les accès concurrentiels, je dois gérer dans une seule requete la récupération du numéro de pièce suivante (table F_DOCCURRENTPIECE) et l'insertion de l'entete avec ce numéro.
Seul problème,
- j'essaie de faire une requete comme avec un sqlcommand, déclarer des variables , récupérer
la valeur courante du numéro de pièce dans cette variable et insérer l'entete et retourner
le numéro de pièce pour insérer les lignes (declare @no_piece varchar(9) ...) l'odbc me dit que c'est une erreur de syntaxe
=> sage odbc ne gère que les requetes basiques?
- Je fais appel à une procédure stockés dans l'odbccommand, {call nom_proc()} (il me dit que c'est non supporté)
=> sage odbc ne gère pas les proc stocks?

Est ce tu trouves un moyen de mieux gérer cette requete?

sachant que je peux faire en 2 tps (récupération du num de pièce dans une requete et insertion dans un autre) mais je peux avoir
des problèmes si plusieurs requetes s'effectuent en même temps.


Merci pour ton aide


sevyc64 a écrit:
patr a écrit:Je voulais savoir à ton avis si le fait de faire appel au driver odbc depuis une page web ne pose pas de problème, par exemple quand plusieurs utilisateurs seront connectés et effectueront simultanément des traitement.
Pour le moment je ne rencontre pas de problème particulier si ce n'est que le driver odbc de SAGE étant extrêmement lent certaines requêtes plusieurs dizaines de secondes voire plusieurs minutes à s’exécuter.
L'utilisation que j'ai mis en place ne fait quasiment que de la consultation, un peu de modification, mais pas de création d'objets.

Pour l'insertion des bon de commandes, c'est bien les table f_docentete et f_docligne qui sont impactées, mais je ne voit pas dans les docs le liens forts entre les 2 tables, aurais tu une idée.
F_DOCENTETE représente l’entête du document (la partie haute de la fenêtre de saisie dans SAGE), F_DOCLIGNE représente les lignes du document (la partie basse de la fenêtre de saisie).
Il faut que l’entête soit créé avant de pouvoir enregistrer des lignes. Le lien se fait par le champ DO_PIECE qui est le n° de pièce sur l’entête.
Plusieurs informations de l’entête sont reprises pour pré-renseigner les lignes.
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede sevyc64 » Mar 24 Jan 2012 12:39

L'odbc SAGE, en plus d'être lent, n'est pas très évolué. Il ne supporte pas toute la syntaxe SQL. Il faut rester à des requêtes basiques.

Certaines requêtes un peu complexes fonctionnent mal alors que d'autres, pas plus complexes passent sans problème.
Juste un exemple que je viens de connaitre "SELECT ... WHERE toto NOT IN (SELECT DISTINCT TOTO ...)", durée de la requête : 5h30. Modification de la requête en "SELECT ... WHERE toto NOT IN (SELECT TOTO ...)", durée de la requête : 22sec.
Certes le distinct est connue pour être lourd, mais à ce point, c'est ahurissant (des requêtes identiques ont été testées sur un structure et un volume de données similaire sous SQLServer les temps respectifs sont 2sec et <1sec)

Pour ton problème, tu peux peut-être essayer de mettre toutes tes requêtes dans une transaction, mais je sais même pas si c'est supporté par le driver odbc.

Sinon, je ne connais pas de solution. C'est la raison pour laquelle, personnellement, je suis généralement réticent à la création d'objets dans SAGE depuis l'extérieur. Soit je débrouille pour que ce soit fait à une période de non utilisation et pour qu'il n'y ai qu'un seul processus qui accède simultanément à la base, soit, quand c'est possible (mais c'est contraignant) je choisit la solution d'une importation manuelle par l'utilisateur à partir d'un fichier csv que je génère si besoin.
sevyc64
Contributeur
Contributeur
 
Messages: 62
Inscription: Ven 15 Juil 2011 08:18

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Mar 24 Jan 2012 12:56

Ok ca m'inquiète !
D'ailleurs pour tout ce qui est requete de lecture simple, comme vérifier si un compte tiers existe par exemple, je vais utiliser une commande sans passer par le driver odbc.
mais pour le numéro de pièce ca devient problématique, la seule solution effectivement c'est la transaction.

Le traitement que j'ai trouvé lent pour l'instant c'est la connection depuis le code avec le driver odbc.
Les insertions ca va assez vite, j'ai pas traité tous les cas d'insertions.


sevyc64 a écrit:L'odbc SAGE, en plus d'être lent, n'est pas très évolué. Il ne supporte pas toute la syntaxe SQL. Il faut rester à des requêtes basiques.

Certaines requêtes un peu complexes fonctionnent mal alors que d'autres, pas plus complexes passent sans problème.
Juste un exemple que je viens de connaitre "SELECT ... WHERE toto NOT IN (SELECT DISTINCT TOTO ...)", durée de la requête : 5h30. Modification de la requête en "SELECT ... WHERE toto NOT IN (SELECT TOTO ...)", durée de la requête : 22sec.
Certes le distinct est connue pour être lourd, mais à ce point, c'est ahurissant (des requêtes identiques ont été testées sur un structure et un volume de données similaire sous SQLServer les temps respectifs sont 2sec et <1sec)

Pour ton problème, tu peux peut-être essayer de mettre toutes tes requêtes dans une transaction, mais je sais même pas si c'est supporté par le driver odbc.

Sinon, je ne connais pas de solution. C'est la raison pour laquelle, personnellement, je suis généralement réticent à la création d'objets dans SAGE depuis l'extérieur. Soit je débrouille pour que ce soit fait à une période de non utilisation et pour qu'il n'y ai qu'un seul processus qui accède simultanément à la base, soit, quand c'est possible (mais c'est contraignant) je choisit la solution d'une importation manuelle par l'utilisateur à partir d'un fichier csv que je génère si besoin.
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede sevyc64 » Mar 24 Jan 2012 12:59

le compte tiers c'est la table F_COMPTET
sevyc64
Contributeur
Contributeur
 
Messages: 62
Inscription: Ven 15 Juil 2011 08:18

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Mer 8 Fév 2012 20:18

Bonjour,
J'ai une question par rapport à l'installation du KIT ODBC pour le passage en production de mes devs.
Est ce qu'il est nécéssaire d'installer SAGECOM et COMPTA sur le serveur ou est déployé le site web ou est ce que l'installation du DriverODBC suffit.
Car sur mon env de dev j'ai tout installer.
Merci


sevyc64 a écrit:le compte tiers c'est la table F_COMPTET
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede sevyc64 » Jeu 9 Fév 2012 10:35

normalement le driver suffit.

Et peut-être la partie cliente du serveur SAGE si ta base est multi-utilisateur
sevyc64
Contributeur
Contributeur
 
Messages: 62
Inscription: Ven 15 Juil 2011 08:18

Re: Connexion base Gescom Sage ligne 100 via ODBC en ASP

Messagede patr » Jeu 9 Fév 2012 12:05

Merci j'avais oublié la partie cliente, ca sent l'éxpérience chez toi.
J'aimerais avoir ton idée pour la gestion de la connexion à ODBC.
J'ai remarqué que la connexion à Sage via ODBC prend du temps, donc pour résoudre le problème j'utilise une seule connexion active, que je reconnecte quand elle est fermé.
J'ai un petit peu peur pour cela car, quand la connexion est en train de se connecter, il faut que tous les autres traitements attendent.
Qu'est ce que t'en penses? comment tu gères la connexion de ton coté.
Merci

sevyc64 a écrit:normalement le driver suffit.

Et peut-être la partie cliente du serveur SAGE si ta base est multi-utilisateur
patr
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Jeu 22 Déc 2011 19:20


Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités