Problème de création de procédure stockée

Le
WonderMan
Bonjour,

Je cherche à créer une procédure stockée très simple dans une base de
données sous SQL Server 2000, en passant par Entreprise Manager, mais
tout ce que j'obtiens est une petite icone indiquant "Executing Query",
et la seule icone de controle accessible est la petite icone rouge
permettant l'annulation de la création de la procédure stockée. Le même
phénomène se produit que je me connecte à la base de données par réseau
ou en direct.

Pourtant, le code de la procédure est très simple :

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[TestStoredProcedure]
AS
BEGIN
SET NOCOUNT ON;
select 1234
END
GO

De plus, si je retire tout ce qui figure entre BEGIN et END, j'ai un
pmessage d'erreur m'informant d'une erreur (sur le mot END), mais au
moins cela est instantané.

Quels sont les points à vérifier pour résoudre ce problème ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sylvain Lafontaine
Le #11880581
Vous passez par Enterprise Manager (EM) mais vous ne dites pas comment vous
faites à l'intérieur de EM pour créer votre procédure. Est-ce que vous
faites Nouvelle Procédure Stockée... à partir du menu contextuel (click
droit de la souris) dans la liste des Procédures Stockées?

Votre problème provient probablement du fait que vous travaillez d'une façon
ou d'une autre en mode de requête (ou batch mode) et de votre utilisation
des commandes GO intermédiares. Les commandes GO ne sont pas des commandes
T-SQL et ne sont pas comprises par SQL-Server. Ce sibnt des commandes de
séparation de batch et elles peuvent être utilisées uniquement du côté
client pour séparer et envoyer des batchs.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"WonderMan" news:
Bonjour,

Je cherche à créer une procédure stockée très simple dans une base de
données sous SQL Server 2000, en passant par Entreprise Manager, mais tout
ce que j'obtiens est une petite icone indiquant "Executing Query", et la
seule icone de controle accessible est la petite icone rouge permettant
l'annulation de la création de la procédure stockée. Le même phénomène se
produit que je me connecte à la base de données par réseau ou en direct.

Pourtant, le code de la procédure est très simple :

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[TestStoredProcedure]
AS
BEGIN
SET NOCOUNT ON;
select 1234
END
GO

De plus, si je retire tout ce qui figure entre BEGIN et END, j'ai un
pmessage d'erreur m'informant d'une erreur (sur le mot END), mais au moins
cela est instantané.

Quels sont les points à vérifier pour résoudre ce problème ?

Merci.




WonderMan
Le #11880551
Sylvain Lafontaine a exposé le 24/04/2008 :
Vous passez par Enterprise Manager (EM) mais vous ne dites pas comment vous
faites à l'intérieur de EM pour créer votre procédure. Est-ce que vous
faites Nouvelle Procédure Stockée... à partir du menu contextuel (click droit
de la souris) dans la liste des Procédures Stockées?

Votre problème provient probablement du fait que vous travaillez d'une façon
ou d'une autre en mode de requête (ou batch mode) et de votre utilisation des
commandes GO intermédiares. Les commandes GO ne sont pas des commandes T-SQL
et ne sont pas comprises par SQL-Server. Ce sibnt des commandes de
séparation de batch et elles peuvent être utilisées uniquement du côté client
pour séparer et envoyer des batchs.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"WonderMan" news:
Bonjour,






Merci pour votre réponse. Le problème vient apparemment du fait que la
base avec laquelle je travaille a tendance à devenir inaccessible,
c'est à dire qu'elle ne répond plus aux requêtes envoyées, peut être
parce qu'elle est trop volumineuse ? Quoi qu'il en soit, un Restart du
service correspondant (en passant par le Panneau de Configuration ->
Outils d'Administration -> Services) permet en général de retrouver un
comportement correct de la base ...
Sylvain Lafontaine
Le #11880541
Base trop volumineuse? J'aurais plus tendance à penser d'un problème du
côté des protocoles de communication réseau. Si vous utilisez les named
pipes pour communiquer avec votre serveur sql, essayez plutôt avec TCP/IP et
vice versa.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"WonderMan" news:
Sylvain Lafontaine a exposé le 24/04/2008 :
Vous passez par Enterprise Manager (EM) mais vous ne dites pas comment
vous faites à l'intérieur de EM pour créer votre procédure. Est-ce que
vous faites Nouvelle Procédure Stockée... à partir du menu contextuel
(click droit de la souris) dans la liste des Procédures Stockées?

Votre problème provient probablement du fait que vous travaillez d'une
façon ou d'une autre en mode de requête (ou batch mode) et de votre
utilisation des commandes GO intermédiares. Les commandes GO ne sont pas
des commandes T-SQL et ne sont pas comprises par SQL-Server. Ce sibnt
des commandes de séparation de batch et elles peuvent être utilisées
uniquement du côté client pour séparer et envoyer des batchs.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"WonderMan" news:
Bonjour,






Merci pour votre réponse. Le problème vient apparemment du fait que la
base avec laquelle je travaille a tendance à devenir inaccessible, c'est à
dire qu'elle ne répond plus aux requêtes envoyées, peut être parce qu'elle
est trop volumineuse ? Quoi qu'il en soit, un Restart du service
correspondant (en passant par le Panneau de Configuration -> Outils
d'Administration -> Services) permet en général de retrouver un
comportement correct de la base ...




WonderMan
Le #11880531
Sylvain Lafontaine avait soumis l'idée :
Base trop volumineuse? J'aurais plus tendance à penser d'un problème du côté
des protocoles de communication réseau. Si vous utilisez les named pipes
pour communiquer avec votre serveur sql, essayez plutôt avec TCP/IP et vice
versa.




Pourtant j'observe le même problème si j'essaye de créer ma procédure
stockée directement sur la machine où est installée la base. Est ce que
ça peut quand même être un problème de protocole ?

Merci.
Sylvain Lafontaine
Le #11880501
Tout est possible dans la vie. De plus, si vous sauriez exactement où se
situe votre problème, probablement que vous l'auriez déjà résolu.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"WonderMan" news:
Sylvain Lafontaine avait soumis l'idée :
Base trop volumineuse? J'aurais plus tendance à penser d'un problème du
côté des protocoles de communication réseau. Si vous utilisez les named
pipes pour communiquer avec votre serveur sql, essayez plutôt avec TCP/IP
et vice versa.




Pourtant j'observe le même problème si j'essaye de créer ma procédure
stockée directement sur la machine où est installée la base. Est ce que ça
peut quand même être un problème de protocole ?

Merci.




Publicité
Poster une réponse
Anonyme