IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Échec de la conversion de la date


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 5
    Par défaut Échec de la conversion de la date
    Salut tout le monde

    Je suis entrain d'exécuter un procédures stockées sur sql server 2010 mais il y a une erreur que je ne comprends pas.

    La procédure stockée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    ALTER PROCEDURE [dbo].[CreateFiche]
     
    	@code_machine nVarchar(50),
    	@code_section nVarchar(50),
    	@emplacement nVarchar(50),
    	@ligne nVarchar(50),
    	@code_secteur nVarchar(50),
    	@categorie nVarchar(50),
    	@ref_fournisseur nVarchar(50),
    	@fonction nVarchar(50),
    	@type nVarchar(50),
    	@etat nVarchar(50),
    	@type_anal nVarchar(50),
    	@codeImmo int,
    	@num_serie nVarchar(50),
    	@affaire nVarchar(50),
    	@Date_deb_sce Date=getdate,
    	@Date_fin_sce Date=getdate,
    	@Date_deb_garantie Date=getdate,
    	@Date_fin_garantie Date=getdate
     
     
    AS
    	insert into machines (code_machine,code_section,emplacement,ligne,code_secteur,cat_mach,ref_fournisseur,fonction,type,etat,type_anal,codeImmo,nserie,affaire,date_fab,date_acq,date_deb_garantie,date_fin_garantie)
    	values(@code_machine,@code_section,@emplacement,@ligne,@code_secteur,@categorie,@ref_fournisseur,@fonction,@type,@etat,@type_anal,@codeImmo,@num_serie,@affaire,@Date_deb_sce,@Date_fin_sce,@Date_deb_garantie,@Date_fin_garantie)
    	RETURN
    l'exécution :
    declare @code_machine nvarchar(50)
    declare @code_section nvarchar(50)
    declare @ligne nvarchar(50)
    declare @code_secteur nvarchar(50)
    declare @categorie nvarchar(50)
    declare @ref_fournisseur nvarchar(50)
    declare @fonction nvarchar(50)
    declare @type nvarchar(50)
    declare @etat nvarchar(50)
    declare @type_anal nvarchar(50)
    declare @codeImmo int
    declare @num_serie nvarchar(50)
    declare @affaire nvarchar(50)
    declare @Date_deb_sce date
    declare @Date_fin_sce date
    declare @Date_deb_garantie date
    declare @Date_fin_garantie date
     
     
    set @code_machine ='marwa'
    set @code_section =''
    set @ligne =''
    set @code_secteur =''
    set @categorie =''
    set @ref_fournisseur =''
    set @fonction =''
    set @type =''
    set @etat =''
    set @type_anal =''
    set @codeImmo =1
    set @num_serie =''
    set @affaire =''
    set @Date_deb_sce ='10/2/2010'
    set @Date_fin_sce ='11/2/2010'
    set @Date_deb_garantie ='15/2/2010'
    set @Date_fin_garantie ='16/03/2010'
    EXECUTE CreateFiche @code_machine,@code_section,@ligne,@code_secteur,@categorie,@ref_fournisseur,@fonction,@type,@etat,@type_anal,
    @codeImmo,@num_serie,@affaire,@Date_deb_sce,@Date_fin_sce,@Date_deb_garantie,@Date_fin_garantie

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut SQL 2010 - Conversion de date.
    Bonjour Marwa.

    À priori, il n'y a pas de conversion de date puisque vous l'assignez directement; notez que SQL Server n'est pas Access et les conversions automatiques sont élémentaires. Je parierais un beau twony tout neuf que par défaut, votre BD est peut-être en mode anglo i.e. MM/JJ/AAAA. Ici, je suis en mode AAAA/MM/JJ; de toute façon, les dates avec SQL sont cauchemardesques...

    Pour vérifier, exécutez un SELECT GetDate().

    Ici, je me permet de faire le grand-père: pourquoi ne pas utiliser les projets adp de Access pour gérer/alimenter les BD SQL? Toutes les fonctions simples du studio sont disponibles avec en plus, une convivialité qui n'est pas la marque de commerce du studio - non, je ne suis pas lié à MS mais j'ai 35 ans d'expérience en info et je suis aussi paresseux qu'un chat angora...

    Bonne chance,
    JLCantara.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    JLCantara a raison.

    Faites SET LANGUAGE FRENCH en début de query et réessayez.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Il n'est pas possible d'assigner à une variable d'entrée de procédure stockée (ou de fonction) le résultat d'une fonction scalaire.

    Sans les parenthèses qui sont normalement nécessaires, SQL Server compile la procédure stockée, mais à l'exécution, on obtient l'erreur suivante :

    Msg 241, Level 16, State 1, Procedure toto, Line 0
    Conversion failed when converting date and/or time from character string.
    Qu'il aurait été bien que vous donniez.

    En fait SQL Server tente de convertir implicitement la chaîne de caractères 'GETDATE' en une valeur de type datetime, ce qui ne fonctionne pas.

    @++

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut Utilisation de date en T-SQL.
    Bonjour Mezned,

    La connaissance de trop de langages différents amène des erreurs de lecture. Le type de tes dates devrait être DateTime et non Date. Je l'ai testé et ça marche...

    Bon code,
    JLCantara.

Discussions similaires

  1. Requête MAJ - Échec de conversion de type - DATE et $
    Par MarieRoy dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 23/02/2011, 03h28
  2. Réponses: 8
    Dernier message: 05/02/2005, 16h38
  3. [date] conversion d'une date et compatibilité access
    Par WriteLN dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/01/2005, 14h03
  4. [CR] pb (concaténation/Conversion/Addition) sur date/heure
    Par marvel dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 20/12/2004, 15h31
  5. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 18h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo