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

[WD10] pb avec les rubrique Heure et SQL Serveur

3 réponses
Avatar
Frédéric LAMBOUR
J'ai systématiquement l'erreur suivante lors du Hajoute() du code décrit
plus bas :

Erreur à la ligne 18 du traitement Clic sur Bouton1.
Vous avez appelé la fonction HAjoute.
Erreur de l'accès OLE DB.
Numéro d'erreur = 170147

Echec de la mise à jour de l'enregistrement sur la base de données.

Détail de l'erreur système :

Description = Invalid date format
Source = Microsoft OLE DB Provider for SQL Server
SQL State = 22007
Error Number = -2147467259

Description = Multiple-step OLE DB operation generated errors. Check each
OLE DB status value, if available. No work was done.
Source = Microsoft OLE DB Provider for SQL Server
SQL State = 22007
Error Number = -2147217887

Informations techniques

Projet : appels

Dump de l'erreur du module <WD100HF.DLL> <10.00Cg>.

- Appel WL :
Traitement de <MigrationVersSQLServeur.Bouton1>, ligne <18>, thread <0>
Fonction <HAjoute>, n° de syntaxe <2>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 73001

- Code erreur WD55 : 3001

- Pas de code d'erreur système

- Message d'erreur système :
Description = Invalid date format
Source = Microsoft OLE DB Provider for SQL Server
SQL State = 22007
Error Number = -2147467259


Description = Multiple-step OLE DB operation generated errors. Check each
OLE DB status value, if available. No work was done.
Source = Microsoft OLE DB Provider for SQL Server
SQL State = 22007
Error Number = -2147217887


- Que s'est-il passé ?
Erreur de l'accès OLE DB.
Numéro d'erreur = 170147

Echec de la mise à jour de l'enregistrement sur la base de données.

- Infos de debug :
IEWDOLDB=111027
Module=<WDOLDB>
Version=<10.00Ae>
Exceptions sur code <-2147467259> autorisées

Version du MDAC = <2.80.1022.3>.

[Current Recordset parameters]
Wanted = LockType = <adLockOptimistic>, Location = <adUseServer>, Type =
<adOpenKeyset>, Capacities = <10fef00>
Got = LockType = <adLockUnspecified>, Location = <adUseServer>, Type =
<adOpenKeyset>, Capacities = <10fef00>

[Connection parameters]
DataSource = <DEV>
Initial Catalog = <>
Provider = <SQLOLEDB>
User = <sa>
Password = <,###>
Extended Info = <;Initial Catalog=BDAppels>
Access = <Read/Write>

[Connection settings]
ConnectionTimeout = <30>
CommandTimeout = <30>

[Data format]
Query Parameter Checked = <0> = <>
Query Parameter Needing conversion = <0> = <>
DecimalSeparator = <Undefined>
DateFormat = <>

[Cursor settings Match]
LockType = <adLockOptimistic>, Location = <adUseServer>, Type =
<adOpenKeyset>, Capacities = <10fef00>
LockType = <adLockUnspecified>, Location = <adUseNone>, Type =
<adOpenUnspecified>, Capacities = <ffffffff>
LockType = <adLockUnspecified>, Location = <adUseNone>, Type =
<adOpenUnspecified>, Capacities = <ffffffff>

[Recordset 1]
Settings = <LockType = <adLockOptimistic>, Location = <adUseServer>, Type =
<adOpenKeyset>, Capacities = <10fef00>>
CapacitiesSupported =
<adAddNew;adApproxPosition;adBookmark;adDelete;adFind;adHoldRecords;adMovePr
evious;adNotify;adResync;adUpdate;adUpdateBatch;>
CapacitiesNotsupported = <adIndex;adSeek;>
HFFunctionsSupported =
<HAjoute;HSupprime;HModifie;HPositionCourante;HAvance;HRecule;HLitPremier;HL
itSuivant;HLitPrecedent;HRecherche;>
HFFunctionsNotsupported = <>

Fonction (7,0)

- Infos attachées :
EIT_ADOCODE : <-2147467259>
EIT_BASECODE : <0>
EIT_ODBCDESCRIPTION : <Invalid date format>
EIT_ODBCCODE : <22007>
EIT_NATIVECODE : <170147>
EIT_LOGICALTABLENAME : <APPELSAlias>
EIT_DATEHEURE : 24/01/2006 12:14:24
EIT_PILEWL :
Clic sur Bouton1 (MigrationVersSQLServeur.Bouton1), ligne 18

- Identifiant dans le .err : 72801

Voilà le code qui plante :
Protocole de reproduction :
Copie des données du fichier APPELS vers une table similaire dans SQL
serveur

Sablier(Vrai)
hNomFichierAlias est chaîne
hNomFichierAlias = APPELS..Nom+"Alias"
HDéclareExterne(APPELS..Nom, hNomFichierAlias, BDAppelsSurDEV) //BASE SQL
Serveur pour BDAppelsSurDEV
POUR TOUT APPELS SUR APCLEUNIK

Message("En cours = " +APPELS.APCLEUNIK)

//Autre rubriques ...
{hNomFichierAlias +"."+ APPELS.HEURE..Nom, indRubrique} = APPELS.HEURE
//Cette affectation pose problème
//Autre rubriques ...

HAjoute(hNomFichierAlias)

FIN

HFerme(hNomFichierAlias) //comit
HAnnuleDéclaration(hNomFichierAlias)

Sablier(Faux)
Message("")

IMPORTANT :

Si au lieu d'utiliser HDéclareExterne() je crée une nouvelle analyse avec
une table liée à ma base SQL pour pouvoir utiliser la fonction HDéclare() le
code ci-dessous fonctionne !!!!!

Sablier(Vrai)
hNomFichierAlias est chaîne
hNomFichierAlias = APPELS..Nom+"Alias"
HDéclare(appels..nom, "TestRubriqueHeure.wdd", "", hNomFichierAlias) //Base
SQL serveur pour TestRubriqueHeure.wdd
POUR TOUT APPELS SUR APCLEUNIK

Message("En cours = " +APPELS.APCLEUNIK)

//Autre rubriques ...
{hNomFichierAlias +"."+ APPELS.HEURE..Nom, indRubrique} = APPELS.HEURE
//Plus de pb
//Autre rubriques ...

HAjoute(hNomFichierAlias)

FIN

HFerme(hNomFichierAlias) //comit
HAnnuleDéclaration(hNomFichierAlias)

3 réponses

Avatar
Pascal F
Moi j'aurai plutôt écrit:
{hNomFichierAlias +".HEURE", indRubrique} = APPELS.HEURE
Mais pas essayé.

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
Frédéric LAMBOUR
Ce n'est pas le problème APPELS.HEURE..nom renvoie "HEURE" (moins on utilise
de chaîne en dure plus le code est facile à maintenir)

"Pascal F" a écrit dans le message de
news:43d6132c$0$372$
Moi j'aurai plutôt écrit:
{hNomFichierAlias +".HEURE", indRubrique} = APPELS.HEURE
Mais pas essayé.

--
Pascal

Ne garder que le prénom pour me joindre




Avatar
Frédéric LAMBOUR
Ca change rien car APPELS.HEURE..Nom renvoie "HEURE" ;)


"Pascal F" a écrit dans le message de
news:43d6132c$0$372$
Moi j'aurai plutôt écrit:
{hNomFichierAlias +".HEURE", indRubrique} = APPELS.HEURE
Mais pas essayé.

--
Pascal

Ne garder que le prénom pour me joindre