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

MS SQL Server Discussion :

Nom d'Objet Invalide


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut Nom d'Objet Invalide
    Bonjour,
    j'ai une fonction appelé dbo.fn_toto

    Lorsque j'exécute cette fonction, en faisant:
    select fn_toto(value) from table;

    il me répond :

    Server: Msg 208, Level 16, State 1, Line 1
    Invalid object name 'dbo.fn_toto'.

    Pourtant cette fonction se trouve bien dans ma base de données....

    Merci pour vos réponses....
    Ciao

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut Re: Nom d'Objet Invalide
    Citation Envoyé par etiennegaloup
    select fn_toto(value) from table;
    value et table étant des mots réservés, je ne pense pas qu'il s'agisse là des noms réels.

    Pouvez-vous nous psécifier l'appel exact de la fonction et, si possible, son code ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Erreurs :

    1- Il manque dbo.fn_toto(value)
    2-Il semble que vous n'ayez plus besion de spécifier le nom de la Table.

    En definitive, vous aurez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT  MonServeur.Mabase.MonUser.fn_toto(value)

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    La fonction est:

    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
     
    CREATE FUNCTION fn_cctlg_GetValuesByID(@InValueId int, @InTimeBegin nchar(32), @InTimeEnd nchar(32))
    RETURNS @retTable TABLE 
      ( Value float(53),
        TimeVal varchar(32),
        QualityCode int,
        Flags int
      )
    /*Returns a result set that lists all values to given valuename directly.*/
    AS
    BEGIN
    -- Call xp_decompress with literal parameters
    declare @BLOBLength int
     
    select @BLOBLength=2000
    DECLARE @retval int
     
    exec @retval = sp_cctlg_registerval @InValueId,@BLOBLength 
    if( @retval > 0 )
      RETURN
     
    DECLARE @TimeBegin datetime, @TimeEnd datetime, @BinValues varbinary(2048)
    DECLARE @CTimeBegin varchar(32), @CTimeEnd varchar(32)
    DECLARE @ValueNr int, @Value float(53), @Quality int, @Flags int
    DECLARE @ValueAct int, @ValueCount int
     
    SELECT @ValueCount=0, @ValueAct=0
     
    DECLARE Value_Cursor CURSOR FOR
    SELECT Timebegin,Timeend,BinValues FROM TagCompressed Where ValueID=@InValueId AND ((Timebegin <= @InTimeEnd AND Timeend >= @InTimeBegin ) OR (Timebegin <= @InTimeBegin AND Timeend >= @InTimeBegin))
     
    OPEN Value_Cursor
     
    FETCH NEXT FROM Value_Cursor into @TimeBegin, @TimeEnd, @BinValues
    WHILE (@@FETCH_STATUS = 0 )--AND @retval = 0)
    BEGIN
    -- Datetime must be converted to Text, because DLL cannot use native Datetime-format
       SELECT @CTimeBegin = CONVERT( VARCHAR, @TimeBegin, 21 )
       SELECT @CTimeEnd = CONVERT( VARCHAR, @TimeEnd, 21 )
       exec @retval = sp_cctlg_decompress @CTimeBegin, @CTimeEnd, @BinValues, @ValueAct OUTPUT
       SELECT @ValueCount = @ValueCount + @ValueAct
       FETCH NEXT FROM Value_Cursor into @TimeBegin, @TimeEnd, @BinValues
    END
     
    --SELECT @Value=0, @Quality=0,@Flags=0
    SELECT @retval=0
    SELECT @ValueAct = 0
    WHILE( @retval = 0 )
    BEGIN
      exec @retval = sp_cctlg_getvalue @ValueAct, @CTimeBegin OUTPUT, @Value OUTPUT, @Quality OUTPUT, @Flags OUTPUT
      SELECT @ValueAct = @ValueAct+1
     
      if( @CTimeBegin >= @InTimeBegin AND @CTimeBegin <= @InTimeEnd) 
      BEGIN
        INSERT @retTable( Value, TimeVal, QualityCode, Flags) VALUES(@Value, @CTimeBegin, @Quality, @Flags )
      END
    END
    CLOSE Value_Cursor
    DEALLOCATE Value_Cursor
    exec sp_cctlg_unregisterval @InValueId
    RETURN
    END
    Les fonctions sp_cctlg_registerval,sp_cctlg_unregisterval,sp_cctlg_getvalue sont des 'extended stored Procedure' de la table master....

    Et moi j'exécute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select dbo.fn_cctlg_GetValuesByID(ValueID,TimeBegin,TimeEnd) from TagCompressed;
    Et il me répond:

    Server: Msg 208, Level 16, State 1, Line 1
    Invalid object name 'dbo.fn_cctlg_GetValuesByID'.
    Merci pour vos réponse.
    Ciao

  5. #5
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    Essaies de faire ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Mabase.dbo.fn_cctlg_GetValuesByID(ValueID,TimeBegin,TimeEnd) from TagCompressed;
    Ceci devrait fonctionner.
    OS:Win 2000 Pro, WIN XP
    SGBD: MS Sql Server, Oracle
    Environnement: VS.NET 2002, JBuilder
    Web: www.ndestudents.com

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Non ça marche pas,
    mince....
    Mais merci quand même
    ++

  7. #7
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Non ca doit marcher !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Master.dbo.fn_cctlg_GetValuesByID(ValueID,TimeBegin,TimeEnd) from TagCompressed;
    Sinon donnes nous l'emplacement de chaqu'une des procedures et fonctions que tu as utilisé.
    Ne désespère pas la solution est certainement très simple, juste que nous devons avoir des incomprehensions.
    Il nous faut lever les invariants.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2012] SYSLOGS : nom d'objet invalide
    Par big1 dans le forum Développement
    Réponses: 6
    Dernier message: 16/06/2015, 15h40
  2. [DisplayTag] Error looking up property "nom" in objet type "mysample.Personne"
    Par slyv dans le forum Taglibs
    Réponses: 3
    Dernier message: 02/03/2011, 17h53
  3. Réponses: 2
    Dernier message: 23/09/2008, 14h16
  4. frames et javascript - parametrage d'un nom d'objet
    Par titicurio dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/02/2006, 13h35
  5. Réponses: 11
    Dernier message: 16/10/2004, 18h14

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