Bonjour

Voilà mon problème: J'ai créé une procédure stockée dont voici le code:
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
CREATE PROCEDURE ProcValideGenSB
@numSB varchar(25), @revSB varchar(10), @titre varchar(300), @revision smalldatetime, @effectivite smalldatetime, @reception smalldatetime, 
@etops char(1), @shop char(1), @wing char(1), @refCred varchar(50), @dateCred smalldatetime, @description varchar(500), @avantage varchar(500), 
@interchange varchar(500), @commentaire varchar(500), @duree char(1), @performance char(1), @fiabilite char(1), @inspection char(1), @autre varchar(2), 
@Sprod integer
AS
BEGIN TRANSACTION VALIDE_GEN_SB
DECLARE @IDSB integer
INSERT INTO SB (NUMERO, REVISION, TITRE, DATE_PARUTION, DATE_EFFECTIVITE, DATE_RECEPTION, ETOPS, ON_SHOP, ON_WING, REF_CREDIT, DATE_FIN_CREDIT, 
[DESCRIPTION], AVANTAGES, INTERCHANGABILITEE, COMMENTAIRES, DUREE, PERFORMANCE, FIABILITE, INSPECTION, AUTRE, ID_S_PROD)
VALUES(@numSB, @revSB, @titre, @revision, @effectivite, @reception, @etops, @shop, @wing, @refCred, @dateCred, @description, @avantage, @interchange,
@commentaire, @duree, @performance, @fiabilite, @inspection, @autre, @Sprod);
SELECT @IDSB = @@identity;
INSERT INTO Reprise(IDENT_SB, QUOI) VALUES(@IDSB, 'SB');
SELECT IDENT_SB FROM Reprise WHERE IDENT_SB = @IDSB AND QUOI = 'SB';
COMMIT TRANSACTION VALIDE_GEN_SB
RETURN
Le problème c'est que quand je veux l'executer avec de grandes chaines de caractère pour la description ou pour tout autre entrée typée en varchar(500) cela me retourne l'erreur suivante :

Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Le identificateur qui commence par '(ce que je rentre ici)' est trop long. La longueur maximale est 128.

Dans ma table, les longueurs sont les memes que celles que j'ai dans la procédure et quand je fais une insertion directement avec un insert cela fonctionne bien

Je voulais donc savoir s'il y avait une longueur max pour les entrées d'une procédure. Sinon, savoir s'il y a un moyen de passer mes parametres correctement par la procédure ou bien si je devais ne pas passer par la procédure et faire mes requettes dans mon code.

Merci pour votre aide.