[Question posé sur un autre forum mais resté sans réponse, alors
j'essaie ici]
Bonjour,
ce code
---
SET @strSQL1 = N'SELECT @aj_idContact=idContact FROM
travail01.dbo.contacts WHERE nom=@nomCherche'
SET @ParmDefinition = N'@aj_idContact INT OUT, @nomCherche VARCHAR(50)'
EXEC dbo.sp_executesql @strSQL1, @ParmDefinition, @aj_idContact OUTPUT,
@nomCherche = @nom
---
fonctionne bien en 'standalone' avec les déclarations nécessaires.
Mais si je le mets dans une procédure paramétrée, tout se gâte. Si la
création se passe bien, il n'en est pas de même de l'exécution.
Exécution qui se faisait bien quand j'exécutais ma requête sous forme de
chaîne, vu les volumes je cherche à optimiser les laps.
Que @nomCherche soit déclaré en NVARCHAR dans la liste des paramètres ne
change rien, j'ai irrémédiablement cette erreur :
---
Serveur : Msg 214, Niveau 16, État 2, Procédure sp_executesql, Ligne 87
Impossible de convertir le paramètre '@statement' dans le type de
données ntext/nchar/nvarchar attendu par la procédure.
---
Je n'ai rien trouvé sur le net, et je ne sais plus trop comment
chercher.
Toute piste, suggestion ou correction est bienvenue.
Merci d'avance
--
Daniel Lucazeau ~ Informaticien Freelance
Ajornet ~ http://www.ajornet.fr/
Oui, mais le script complet est trop gros et ne me semble pas apporter plus. Je pensais que cela suffirait. Le script accède à des tables.
Le lien que vous m'indiquez n'utilise pas sp-executesql au sein de la procédure MyProc.
-- Daniel Lucazeau ~ Informaticien Freelance Ajornet ~ http://www.ajornet.fr/
Med Bouchenafa [MVP]
Un exemple aurait aidé à reproduire le problème Voici un lien qui pourrait peut-être servir http://support.microsoft.com/?id&2499
-- Salutations Med Bouchenafa TETRASET 75015 Paris "Lucazeau Daniel" a écrit dans le message de news:
[Question posé sur un autre forum mais resté sans réponse, alors j'essaie ici]
Bonjour, ce code
--- SET @strSQL1 = N'SELECT @aj_idContact=idContact FROM travail01.dbo.contacts WHERE nom=@nomCherche' SET @ParmDefinition = N'@aj_idContact INT OUT, @nomCherche VARCHAR(50)' EXEC dbo.sp_executesql @strSQL1, @ParmDefinition, @aj_idContact OUTPUT, @nomCherche = @nom ---
fonctionne bien en 'standalone' avec les déclarations nécessaires.
Mais si je le mets dans une procédure paramétrée, tout se gâte. Si la création se passe bien, il n'en est pas de même de l'exécution. Exécution qui se faisait bien quand j'exécutais ma requête sous forme de chaîne, vu les volumes je cherche à optimiser les laps.
Que @nomCherche soit déclaré en NVARCHAR dans la liste des paramètres ne change rien, j'ai irrémédiablement cette erreur : --- Serveur : Msg 214, Niveau 16, État 2, Procédure sp_executesql, Ligne 87 Impossible de convertir le paramètre '@statement' dans le type de données ntext/nchar/nvarchar attendu par la procédure. ---
Je n'ai rien trouvé sur le net, et je ne sais plus trop comment chercher. Toute piste, suggestion ou correction est bienvenue. Merci d'avance
-- Daniel Lucazeau ~ Informaticien Freelance Ajornet ~ http://www.ajornet.fr/
Un exemple aurait aidé à reproduire le problème
Voici un lien qui pourrait peut-être servir
http://support.microsoft.com/?id&2499
--
Salutations
Med Bouchenafa
TETRASET
75015 Paris
"Lucazeau Daniel" <d.lucazeau@ajornet.com> a écrit dans le message de news:
Xns941AE92F7D83EnewsAjornet@207.46.248.16...
[Question posé sur un autre forum mais resté sans réponse, alors
j'essaie ici]
Bonjour,
ce code
---
SET @strSQL1 = N'SELECT @aj_idContact=idContact FROM
travail01.dbo.contacts WHERE nom=@nomCherche'
SET @ParmDefinition = N'@aj_idContact INT OUT, @nomCherche VARCHAR(50)'
EXEC dbo.sp_executesql @strSQL1, @ParmDefinition, @aj_idContact OUTPUT,
@nomCherche = @nom
---
fonctionne bien en 'standalone' avec les déclarations nécessaires.
Mais si je le mets dans une procédure paramétrée, tout se gâte. Si la
création se passe bien, il n'en est pas de même de l'exécution.
Exécution qui se faisait bien quand j'exécutais ma requête sous forme de
chaîne, vu les volumes je cherche à optimiser les laps.
Que @nomCherche soit déclaré en NVARCHAR dans la liste des paramètres ne
change rien, j'ai irrémédiablement cette erreur :
---
Serveur : Msg 214, Niveau 16, État 2, Procédure sp_executesql, Ligne 87
Impossible de convertir le paramètre '@statement' dans le type de
données ntext/nchar/nvarchar attendu par la procédure.
---
Je n'ai rien trouvé sur le net, et je ne sais plus trop comment
chercher.
Toute piste, suggestion ou correction est bienvenue.
Merci d'avance
--
Daniel Lucazeau ~ Informaticien Freelance
Ajornet ~ http://www.ajornet.fr/
Un exemple aurait aidé à reproduire le problème Voici un lien qui pourrait peut-être servir http://support.microsoft.com/?id&2499
-- Salutations Med Bouchenafa TETRASET 75015 Paris "Lucazeau Daniel" a écrit dans le message de news:
[Question posé sur un autre forum mais resté sans réponse, alors j'essaie ici]
Bonjour, ce code
--- SET @strSQL1 = N'SELECT @aj_idContact=idContact FROM travail01.dbo.contacts WHERE nom=@nomCherche' SET @ParmDefinition = N'@aj_idContact INT OUT, @nomCherche VARCHAR(50)' EXEC dbo.sp_executesql @strSQL1, @ParmDefinition, @aj_idContact OUTPUT, @nomCherche = @nom ---
fonctionne bien en 'standalone' avec les déclarations nécessaires.
Mais si je le mets dans une procédure paramétrée, tout se gâte. Si la création se passe bien, il n'en est pas de même de l'exécution. Exécution qui se faisait bien quand j'exécutais ma requête sous forme de chaîne, vu les volumes je cherche à optimiser les laps.
Que @nomCherche soit déclaré en NVARCHAR dans la liste des paramètres ne change rien, j'ai irrémédiablement cette erreur : --- Serveur : Msg 214, Niveau 16, État 2, Procédure sp_executesql, Ligne 87 Impossible de convertir le paramètre '@statement' dans le type de données ntext/nchar/nvarchar attendu par la procédure. ---
Je n'ai rien trouvé sur le net, et je ne sais plus trop comment chercher. Toute piste, suggestion ou correction est bienvenue. Merci d'avance
-- Daniel Lucazeau ~ Informaticien Freelance Ajornet ~ http://www.ajornet.fr/