Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2011, 15h02   #1
Invité régulier
 
Inscription : novembre 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 44
Points : 5
Points : 5
Par défaut Variable utilisateur d'une autre base

Bonjour,

environnement:
- Base A
-- procedure stockée A1 avec parametre A1p de type Table definie par l'utilisateur
- Base B
-- Procedure stockée B1


Comment passer la variable utilisateur si je veux executer la procedure A1 dans la procedure B1

lorsque je declare ma variable (dans B1) je ne peux pas recuperer le type du parametre A1p (DECLARE @nom A1.TypeA),
alors j'ai créé exactement le meme type dans B1, mais sql server me dit:

Msg*206, Niveau*16, État*2, Procédure*sp_Elyx, Ligne*0
Conflit de types d'opérandes*: typeA est incompatible avec typeA

merci d'avance pour vos reflexions
herve-cahpp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 15h57   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
environnement:
- Base A
-- procedure stockée A1 avec parametre A1p de type Table definie par l'utilisateur
- Base B
-- Procedure stockée B1

Vos SP ne sont pas sur les même bases?

Postez votre code complet svp...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 16h06   #3
Invité régulier
 
Inscription : novembre 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 44
Points : 5
Points : 5
Non, les 2 proc sont sur des bases differentes (mais sur le meme server)
et le code je dois l'ecrire, il n'existe pas encore. dsl
herve-cahpp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2011, 07h53   #4
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 668
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

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

Informations forums :
Inscription : janvier 2005
Messages : 4 668
Points : 8 716
Points : 8 716
Bonjour,

Vous devez pour cela créer, dans la procédure B, une variable du même type table que celui que vous utilisez en paramètre d'entrée de la procédure A
Il vous suffit ensuite d'appeler A dans B en lui passant cette variable de type table.

Les procédures stockées étant dans deux bases de données distinctes, il vous suffit de préfixer le nom de la procédure stockée par le nom de la base de données dans laquelle elle est créée (EXEC maBD.dbo.maProcA @maTable).

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2011, 19h46   #5
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Bonjour,

Vous devez pour cela créer, dans la procédure B, une variable du même type table que celui que vous utilisez en paramètre d'entrée de la procédure A
Il vous suffit ensuite d'appeler A dans B en lui passant cette variable de type table.

Les procédures stockées étant dans deux bases de données distinctes, il vous suffit de préfixer le nom de la procédure stockée par le nom de la base de données dans laquelle elle est créée (EXEC maBD.dbo.maProcA @maTable).

@++
______________
Mais çà ne fonctionne pas
Les types sont propres aux bases de données...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2011, 07h27   #6
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 668
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

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

Informations forums :
Inscription : janvier 2005
Messages : 4 668
Points : 8 716
Points : 8 716
Hé bien il suffit de le recréer dans la base de donnés où il manque !

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2011, 09h35   #7
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Hé bien il suffit de le recréer dans la base de donnés où il manque !
Je n'ai pas dis qu'il manquait j'ai dis que çà ne fonctionnais pas... test (rapide certes) à l'appuie.
Après avoir crée les deux même types tables sur deux base j'ai le même souci que notre ami.
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2011, 18h43   #8
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 668
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

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

Informations forums :
Inscription : janvier 2005
Messages : 4 668
Points : 8 716
Points : 8 716
OK, désolé ... ça me semblait tellement couler de source qu'il me paraît maintenant aberrent que cela ne fonctionne pas ...

Dans tous les cas, je ne vois pas la nécessité de passer une variable de type table si la base de données à été proprement modélisée ...

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 16h59   #9
Invité régulier
 
Inscription : novembre 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 44
Points : 5
Points : 5
Merci pour tout,
apres plusieurs recherche, il faudrai créer la variable au niveaux du server et pas des bases.
la base A est à utiliser dans l'etat, je n'ai pas la main dessus.

Merci encore pour vos reflexions
Amicalement
herve-cahpp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h36.


 
 
 
 
Partenaires

Hébergement Web