cs_polux2
Messages postés1Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention15 novembre 2005
-
15 nov. 2005 à 12:11
cs_poullos
Messages postés145Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention27 décembre 2005
-
15 nov. 2005 à 13:57
Bonjour,
J'ai un problème avec un programme en C# qui se connecte à une base de données SAGE ligne 100 V13.01, en
ODBC, pour executer une requête.
Une requête du type SELECT * FROM F_DOCENTETE,
F_DOCLIGNE WHERE F_DOCENETE.DO_PIECE = F_DOCLIGNE.DO_PIECE AND
F_DOCENTETE.DO_TYPE=F_DOCLIGNE.DO_TYPE s'excute très bien et me retourne le bon
résultat.
Cependant, la même requête écrite
différemment (avec un INNER JOIN) : SELECT * FROM F_DOCENTETE INNER JOIN
F_DOCLIGNE ON F_DOCENETE.DO_PIECE = F_DOCLIGNE.DO_PIECE AND
F_DOCENTETE.DO_TYPE=F_DOCLIGNE.DO_TYPE me retourne l'erreur suivante (en C#)
:
Exception:
System.Data.Odbc.OdbcException
Message: ERROR [42000] [Simba][Simba ODBC
Driver]select * from f_docentete inner join<< ??? >> f_docligne on
f_docentete.do_piece=f_docligne.do_piece and
f_docentete.do_type=f_docligne.do_type
ERROR [42000] [Simba][Simba ODBC
Driver]Syntax Error.
Source: cbodbc32.dll
at
System.Data.Odbc.OdbcConnection.HandleError(HandleRef hrHandle, SQL_HANDLE
hType, RETCODE retcode)
at
System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior,
String method)
at
System.Data.Odbc.OdbcCommand.ExecuteNonQuery()
at
PasserelleSiteInternet.SelectDataODBC.selectQuery(String query) in
c:\dvpt\c#\passerellesiteinternet_v2\selectdataodbc.cs:line 83
Dans le message d'erreur, les caractères "<<
??? >>" sont rajoutés, je suppose pour donner l'endroit de l'erreur, alors
que dans mon code ils n'y sont pas.
J'ai vu qu'il se pouvait qu'il y ait des problèmes
de version de Microsoft Jet dans le cas de lien ODBC de Sage vers Access (http://www.fgs.fr/argumentnonvalide.htm), est ce qu'il n'y
aurais pas le même problème avec Sage ? Est ce que mon driver ODBC est bien
installé ?
Le problème se répète aussi bien sur une PC en
Windows 2000 SP4 que Windows XP SP2.
J'ai testé la requête avec l'INNER JOIN dans
VisData (projet VB livré avec Visual Basic 5) en utilisant un lien
ODBC sur la base Sage et ça a fonctionné. Est ce qu'il y a une imcompatibilité
entre C# et Sage ? A priori, VB5 n'utilise pas les mêmes
composants que C# pour executer des requêtes en ODBC.