Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur ODBC Incomprehensible

4 réponses
Avatar
FOGUER
Bonjour,

J'utilise SQL 2005 32 bit (version 9.00.3257.00) en Français sur un Windows
Server 2003 64 bit Pour faire tourner une base JDEdwards (v7.3.3.3).

J'utilise le SQL Native Client.

Ce matin, j'ai fait une trace ODBC sur un client car mes recherches ne
donnaient rien. Voici la trace :
oexplore 83c-dbc EXIT SQLPrepare with return code 0 (SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO, SDDCTO,
SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO,
SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ,
SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM,
SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT,
SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS,
SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN,
SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM,
SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM
PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? ) UNION
SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN,
SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8,
SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ,
SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2,
SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3,
SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP,
SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT,
SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP,
SDFEA, SDFUC, SDTORG FROM PRODDTA.F42119 WHERE ( SDMCU = ? AND SDKCOO = ?
AND SDSLSM = ? ) ORDER BY 2 ASC , 3 ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code -1 (SQL_ERROR)
HSTMT 0324ADA8

oexplore 83c-dbc ENTER SQLErrorW
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

oexplore 83c-dbc EXIT SQLErrorW with return code 100
(SQL_NO_DATA_FOUND)
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

A quoi correspond cette erreur ?

Si je rajoute un index sur la table F42119 avec les colonnes SDMCU, SDKCOO
et SDSLSM cela fonctionne :
oexplore 83c-dbc EXIT SQLPrepare with return code 0 (SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO, SDDCTO,
SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO,
SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ,
SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM,
SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT,
SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS,
SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN,
SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM,
SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM
PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? ) UNION
SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN,
SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8,
SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ,
SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2,
SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3,
SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP,
SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT,
SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP,
SDFEA, SDFUC, SDTORG FROM PRODDTA.F42119 WHERE ( SDMCU = ? AND SDKCOO = ?
AND SDSLSM = ? ) ORDER BY 2 ASC , 3 ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code 0 (SQL_SUCCESS)
HSTMT 0324ADA8

Incompréhensible !!!

Est-ce que quelqu'un a une idée ?

Cordialement,

Frédéric OGUER

4 réponses

Avatar
Sylvain Lafontaine
D'après votre message, difficile de comprendre c'est quoi le problème que
vous cherchez à résoudre. Aussi, c'est généralement mieux (plus facile)
d'utiliser et d'interpréter le SQL-Server Profiler que les traces ODBC.

Dans votre cas, j'imagine que vous tables liées ODBC n'ont pas été
rafraichies suite à une mise-à-jour du backend ou que vous utiliser des
Hints incompatibles avec votre requête ou référençant des indexes
inexistants ou que vous avez un problème de permission ou que la requête
prend trop de temps pour s'exécuter (time-out).

Essayez d'afficher les messages d'erreur retournés dans Access ou mieux
encore, faites exécuter cette requête dans SQL-Server Management Studio afin
de voir c'est quoi le problème avec. Si vous avez un time-out, faites les
correctifs habituels (purge des mémoires cache, rafraîchissement des
statistiques, ré-indexation, etc.) et vérifier le plan d'exécution de la
requête.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"FOGUER" wrote in message
news:%
Bonjour,

J'utilise SQL 2005 32 bit (version 9.00.3257.00) en Français sur un
Windows Server 2003 64 bit Pour faire tourner une base JDEdwards
(v7.3.3.3).

J'utilise le SQL Native Client.

Ce matin, j'ai fait une trace ODBC sur un client car mes recherches ne
donnaient rien. Voici la trace :
oexplore 83c-dbc EXIT SQLPrepare with return code 0 (SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO, SDDCTO,
SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO,
SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ,
SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM,
SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU,
SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG,
SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC,
SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4,
SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG
FROM PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? )
UNION SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO,
SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN,
SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL,
SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1,
SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2,
SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC,
SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS,
SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD,
SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM PRODDTA.F42119 WHERE ( SDMCU = ?
AND SDKCOO = ? AND SDSLSM = ? ) ORDER BY 2 ASC , 3 ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code -1 (SQL_ERROR)
HSTMT 0324ADA8

oexplore 83c-dbc ENTER SQLErrorW
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

oexplore 83c-dbc EXIT SQLErrorW with return code 100
(SQL_NO_DATA_FOUND)
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

A quoi correspond cette erreur ?

Si je rajoute un index sur la table F42119 avec les colonnes SDMCU, SDKCOO
et SDSLSM cela fonctionne :
oexplore 83c-dbc EXIT SQLPrepare with return code 0 (SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO, SDDCTO,
SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO,
SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ,
SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM,
SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU,
SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG,
SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC,
SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4,
SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG
FROM PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? )
UNION SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO,
SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN,
SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL,
SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1,
SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2,
SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC,
SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS,
SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD,
SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM PRODDTA.F42119 WHERE ( SDMCU = ?
AND SDKCOO = ? AND SDSLSM = ? ) ORDER BY 2 ASC , 3 ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code 0 (SQL_SUCCESS)
HSTMT 0324ADA8

Incompréhensible !!!

Est-ce que quelqu'un a une idée ?

Cordialement,

Frédéric OGUER



Avatar
FOGUER
Bonjour,

Désolé si je n'ai pas été très clair.
J'ai utilisé et interpréter le SQL-Server Profiler mais je ne vois aucune
différence.
Je ne vois l'erreur que dans les Traces ODBC.

Dans les deux cas (avec ou sans création de l'index) ma réquete fonctionne
avec le SQL-Server Management Studio et le plan d'éxecution est "correcte"
(sans index, il utilise la PK)
Dans les deux cas, comme on peux le voir dans les traces ODBC, le TimeOut
est à 0.

Mon problème est que mon application cliente, qui utilise une connection SQL
Native Client se retrouve avec une erreur pour une raison inconnue !

Frédéric OGUER

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news:
D'après votre message, difficile de comprendre c'est quoi le problème que
vous cherchez à résoudre. Aussi, c'est généralement mieux (plus facile)
d'utiliser et d'interpréter le SQL-Server Profiler que les traces ODBC.

Dans votre cas, j'imagine que vous tables liées ODBC n'ont pas été
rafraichies suite à une mise-à-jour du backend ou que vous utiliser des
Hints incompatibles avec votre requête ou référençant des indexes
inexistants ou que vous avez un problème de permission ou que la requête
prend trop de temps pour s'exécuter (time-out).

Essayez d'afficher les messages d'erreur retournés dans Access ou mieux
encore, faites exécuter cette requête dans SQL-Server Management Studio
afin de voir c'est quoi le problème avec. Si vous avez un time-out,
faites les correctifs habituels (purge des mémoires cache,
rafraîchissement des statistiques, ré-indexation, etc.) et vérifier le
plan d'exécution de la requête.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"FOGUER" wrote in message
news:%
Bonjour,

J'utilise SQL 2005 32 bit (version 9.00.3257.00) en Français sur un
Windows Server 2003 64 bit Pour faire tourner une base JDEdwards
(v7.3.3.3).

J'utilise le SQL Native Client.

Ce matin, j'ai fait une trace ODBC sur un client car mes recherches ne
donnaient rien. Voici la trace :
oexplore 83c-dbc EXIT SQLPrepare with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO,
SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN,
SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ,
SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM,
SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR,
SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM,
SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO,
SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH,
SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA,
SDFUC, SDTORG FROM PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND
SDSLSM = ? ) UNION SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO, SDMCU,
SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT, SDAN8,
SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD, SDCNDJ,
SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN, SDLOTN,
SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT, SDSRP1,
SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK, SDSOCN,
SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN, SDDELN,
SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM, SDSLM2,
SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM PRODDTA.F42119
WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? ) ORDER BY 2 ASC , 3
ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code -1 (SQL_ERROR)
HSTMT 0324ADA8

oexplore 83c-dbc ENTER SQLErrorW
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

oexplore 83c-dbc EXIT SQLErrorW with return code 100
(SQL_NO_DATA_FOUND)
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

A quoi correspond cette erreur ?

Si je rajoute un index sur la table F42119 avec les colonnes SDMCU,
SDKCOO et SDSLSM cela fonctionne :
oexplore 83c-dbc EXIT SQLPrepare with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO,
SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN,
SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ,
SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM,
SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR,
SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM,
SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO,
SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH,
SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA,
SDFUC, SDTORG FROM PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND
SDSLSM = ? ) UNION SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO, SDMCU,
SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT, SDAN8,
SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD, SDCNDJ,
SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN, SDLOTN,
SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT, SDSRP1,
SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK, SDSOCN,
SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN, SDDELN,
SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM, SDSLM2,
SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM PRODDTA.F42119
WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? ) ORDER BY 2 ASC , 3
ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8

Incompréhensible !!!

Est-ce que quelqu'un a une idée ?

Cordialement,

Frédéric OGUER







Avatar
Sylvain Lafontaine
Et qu'est-ce qui vous fait dire que vous avez une erreur? Vous voyez
seulement cette erreur dans les traces ODBC ou si les résultats retournés ne
sont pas corrects ou absents?

Dans le deuxième cas (résultats retournés incorrects ou absents), vérifiez
que vous n'avez pas de problème d'espace disque pour le fichier tempdb ou
pour le log file. De plus, le plan d'exécution utilisé par ODBC n'est pas
nécessairement le même que celui utilisé par SQL Manager ou tout autre
interface cliente.

Si vous avez toujours un problème, repostez ici mais en fournissant une
description de base de votre problème: version d'Access et de SQL-Server
utilisées, paramètres de connection et surtout, description du compte
utilisateur utilisé: est-ce que celui-ci a toutes les permissions sur la
base SQL-Server ou s'il est limité. Ajoutez à cela une description (de
base) des tables, views, fonctions et requêtes SQL utilisées.

De plus, si vous avez modifié la table depuis la création de la table liée
ODBC, il est très important que vous ayez rafraichie la liaison ODBC en
utilisant le Linked Table Managers.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"FOGUER" wrote in message
news:
Bonjour,

Désolé si je n'ai pas été très clair.
J'ai utilisé et interpréter le SQL-Server Profiler mais je ne vois aucune
différence.
Je ne vois l'erreur que dans les Traces ODBC.

Dans les deux cas (avec ou sans création de l'index) ma réquete fonctionne
avec le SQL-Server Management Studio et le plan d'éxecution est "correcte"
(sans index, il utilise la PK)
Dans les deux cas, comme on peux le voir dans les traces ODBC, le TimeOut
est à 0.

Mon problème est que mon application cliente, qui utilise une connection
SQL Native Client se retrouve avec une erreur pour une raison inconnue !

Frédéric OGUER

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news:
D'après votre message, difficile de comprendre c'est quoi le problème que
vous cherchez à résoudre. Aussi, c'est généralement mieux (plus facile)
d'utiliser et d'interpréter le SQL-Server Profiler que les traces ODBC.

Dans votre cas, j'imagine que vous tables liées ODBC n'ont pas été
rafraichies suite à une mise-à-jour du backend ou que vous utiliser des
Hints incompatibles avec votre requête ou référençant des indexes
inexistants ou que vous avez un problème de permission ou que la requête
prend trop de temps pour s'exécuter (time-out).

Essayez d'afficher les messages d'erreur retournés dans Access ou mieux
encore, faites exécuter cette requête dans SQL-Server Management Studio
afin de voir c'est quoi le problème avec. Si vous avez un time-out,
faites les correctifs habituels (purge des mémoires cache,
rafraîchissement des statistiques, ré-indexation, etc.) et vérifier le
plan d'exécution de la requête.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"FOGUER" wrote in message
news:%
Bonjour,

J'utilise SQL 2005 32 bit (version 9.00.3257.00) en Français sur un
Windows Server 2003 64 bit Pour faire tourner une base JDEdwards
(v7.3.3.3).

J'utilise le SQL Native Client.

Ce matin, j'ai fait une trace ODBC sur un client car mes recherches ne
donnaient rien. Voici la trace :
oexplore 83c-dbc EXIT SQLPrepare with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO,
SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN,
SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ,
SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM,
SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR,
SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM,
SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO,
SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH,
SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA,
SDFUC, SDTORG FROM PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND
SDSLSM = ? ) UNION SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO, SDMCU,
SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT, SDAN8,
SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD, SDCNDJ,
SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN, SDLOTN,
SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT, SDSRP1,
SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK, SDSOCN,
SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN, SDDELN,
SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM, SDSLM2,
SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM PRODDTA.F42119
WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? ) ORDER BY 2 ASC , 3
ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code -1
(SQL_ERROR)
HSTMT 0324ADA8

oexplore 83c-dbc ENTER SQLErrorW
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

oexplore 83c-dbc EXIT SQLErrorW with return code 100
(SQL_NO_DATA_FOUND)
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

A quoi correspond cette erreur ?

Si je rajoute un index sur la table F42119 avec les colonnes SDMCU,
SDKCOO et SDSLSM cela fonctionne :
oexplore 83c-dbc EXIT SQLPrepare with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO,
SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN,
SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ,
SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM,
SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR,
SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM,
SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO,
SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH,
SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA,
SDFUC, SDTORG FROM PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND
SDSLSM = ? ) UNION SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO, SDMCU,
SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT, SDAN8,
SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD, SDCNDJ,
SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN, SDLOTN,
SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT, SDSRP1,
SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK, SDSOCN,
SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN, SDDELN,
SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM, SDSLM2,
SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM PRODDTA.F42119
WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? ) ORDER BY 2 ASC , 3
ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8

Incompréhensible !!!

Est-ce que quelqu'un a une idée ?

Cordialement,

Frédéric OGUER











Avatar
FOGUER
Bonjour,

Les résultats retournés sont en effet absents.
Je n'ai aucun problème d'espace disque.

Actuellement je n'utilise pas Access. Je vais faire des essais pour voir ci
j'ai la même chose...


--
Cordialement,

Frédéric OGUER


"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news:
Et qu'est-ce qui vous fait dire que vous avez une erreur? Vous voyez
seulement cette erreur dans les traces ODBC ou si les résultats retournés
ne sont pas corrects ou absents?

Dans le deuxième cas (résultats retournés incorrects ou absents), vérifiez
que vous n'avez pas de problème d'espace disque pour le fichier tempdb ou
pour le log file. De plus, le plan d'exécution utilisé par ODBC n'est pas
nécessairement le même que celui utilisé par SQL Manager ou tout autre
interface cliente.

Si vous avez toujours un problème, repostez ici mais en fournissant une
description de base de votre problème: version d'Access et de SQL-Server
utilisées, paramètres de connection et surtout, description du compte
utilisateur utilisé: est-ce que celui-ci a toutes les permissions sur la
base SQL-Server ou s'il est limité. Ajoutez à cela une description (de
base) des tables, views, fonctions et requêtes SQL utilisées.

De plus, si vous avez modifié la table depuis la création de la table liée
ODBC, il est très important que vous ayez rafraichie la liaison ODBC en
utilisant le Linked Table Managers.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"FOGUER" wrote in message
news:
Bonjour,

Désolé si je n'ai pas été très clair.
J'ai utilisé et interpréter le SQL-Server Profiler mais je ne vois aucune
différence.
Je ne vois l'erreur que dans les Traces ODBC.

Dans les deux cas (avec ou sans création de l'index) ma réquete
fonctionne avec le SQL-Server Management Studio et le plan d'éxecution
est "correcte" (sans index, il utilise la PK)
Dans les deux cas, comme on peux le voir dans les traces ODBC, le TimeOut
est à 0.

Mon problème est que mon application cliente, qui utilise une connection
SQL Native Client se retrouve avec une erreur pour une raison inconnue !

Frédéric OGUER

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news:
D'après votre message, difficile de comprendre c'est quoi le problème
que vous cherchez à résoudre. Aussi, c'est généralement mieux (plus
facile) d'utiliser et d'interpréter le SQL-Server Profiler que les
traces ODBC.

Dans votre cas, j'imagine que vous tables liées ODBC n'ont pas été
rafraichies suite à une mise-à-jour du backend ou que vous utiliser des
Hints incompatibles avec votre requête ou référençant des indexes
inexistants ou que vous avez un problème de permission ou que la requête
prend trop de temps pour s'exécuter (time-out).

Essayez d'afficher les messages d'erreur retournés dans Access ou mieux
encore, faites exécuter cette requête dans SQL-Server Management Studio
afin de voir c'est quoi le problème avec. Si vous avez un time-out,
faites les correctifs habituels (purge des mémoires cache,
rafraîchissement des statistiques, ré-indexation, etc.) et vérifier le
plan d'exécution de la requête.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"FOGUER" wrote in message
news:%
Bonjour,

J'utilise SQL 2005 32 bit (version 9.00.3257.00) en Français sur un
Windows Server 2003 64 bit Pour faire tourner une base JDEdwards
(v7.3.3.3).

J'utilise le SQL Native Client.

Ce matin, j'ai fait une trace ODBC sur un client car mes recherches ne
donnaient rien. Voici la trace :
oexplore 83c-dbc EXIT SQLPrepare with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO,
SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN,
SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ,
SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM,
SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR,
SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM,
SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO,
SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH,
SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA,
SDFUC, SDTORG FROM PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND
SDSLSM = ? ) UNION SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO,
SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT,
SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD,
SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN,
SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT,
SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK,
SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN,
SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM,
SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM
PRODDTA.F42119 WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? )
ORDER BY 2 ASC , 3 ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code -1
(SQL_ERROR)
HSTMT 0324ADA8

oexplore 83c-dbc ENTER SQLErrorW
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

oexplore 83c-dbc EXIT SQLErrorW with return code 100
(SQL_NO_DATA_FOUND)
HENV 03241C18
HDBC 03242EF0
HSTMT 0324ADA8
WCHAR * 0x0477E6A0 (NYI)
SDWORD * 0x0477EDAC
WCHAR * 0x0477E2A0
SWORD 325
SWORD * 0x0477EDA4

A quoi correspond cette erreur ?

Si je rajoute un index sur la table F42119 avec les colonnes SDMCU,
SDKCOO et SDSLSM cela fonctionne :
oexplore 83c-dbc EXIT SQLPrepare with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UCHAR * 0x03D5EBB0 [ 1379] "SELECT SDKCOO, SDDOCO,
SDDCTO, SDLNID, SDSFXO, SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN,
SDRCTO, SDRLLN, SDDMCT, SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ,
SDOPDJ, SDADDJ, SDIVD, SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM,
SDLITM, SDAITM, SDLOCN, SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR,
SDEMCU, SDRLIT, SDRKIT, SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM,
SDUORG, SDSOQS, SDSOBK, SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO,
SDDOC, SDDCT, SDPSN, SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH,
SDUOM4, SDSO15, SDSLSM, SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA,
SDFUC, SDTORG FROM PRODDTA.F4211 WHERE ( SDMCU = ? AND SDKCOO = ? AND
SDSLSM = ? ) UNION SELECT SDKCOO, SDDOCO, SDDCTO, SDLNID, SDSFXO,
SDMCU, SDOKCO, SDOORN, SDOCTO, SDRKCO, SDRORN, SDRCTO, SDRLLN, SDDMCT,
SDAN8, SDSHAN, SDPA8, SDDRQJ, SDTRDJ, SDPDDJ, SDOPDJ, SDADDJ, SDIVD,
SDCNDJ, SDDGL, SDRSDJ, SDPEFJ, SDVR01, SDITM, SDLITM, SDAITM, SDLOCN,
SDLOTN, SDDSC1, SDDSC2, SDLNTY, SDNXTR, SDLTTR, SDEMCU, SDRLIT, SDRKIT,
SDSRP1, SDSRP2, SDSRP3, SDSRP4, SDSRP5, SDUOM, SDUORG, SDSOQS, SDSOBK,
SDSOCN, SDUPRC, SDAEXP, SDUNCS, SDASN, SDKCO, SDDOC, SDDCT, SDPSN,
SDDELN, SDCDCD, SDCARS, SDMOT, SDZON, SDFRTH, SDUOM4, SDSO15, SDSLSM,
SDSLM2, SDSWMS, SDCRCD, SDCRR, SDFUP, SDFEA, SDFUC, SDTORG FROM
PRODDTA.F42119 WHERE ( SDMCU = ? AND SDKCOO = ? AND SDSLSM = ? )
ORDER BY 2 ASC , 3 ASC , 1 ASC , 4 ASC"
SDWORD 1379

oexplore 83c-dbc ENTER SQLSetStmtOption
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008

oexplore 83c-dbc EXIT SQLSetStmtOption with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8
UWORD 0 <SQL_QUERY_TIMEOUT>
SQLPOINTER 0x00000008 (BADMEM)

oexplore 83c-dbc ENTER SQLExecute
HSTMT 0324ADA8

oexplore 83c-dbc EXIT SQLExecute with return code 0
(SQL_SUCCESS)
HSTMT 0324ADA8

Incompréhensible !!!

Est-ce que quelqu'un a une idée ?

Cordialement,

Frédéric OGUER