Bonjour,
Je viens de réaliser un site avec MSDE, version gratuite de SQLServer, ASP (et non pas ASP.Net !) et je souhaiterai stocker une requête un peu compliquée directement sur le serveur, dans une procédure stockée.
Je me suis un peu inspiré de ce qui se fait dans le .Net pour l'écriture de la requête, ce qui donne :
CREATE PROCEDURE [db_datareader].[lec_lstann]
(@code_famille CHAR(3), @DonOuR CHAR(1)) AS
DROP TABLE #TableTemp
CREATE TABLE #TableTemp
(
ann_nom_objet VARCHAR(100),
ann_comment_objet VARCHAR(255)
)
INSERT INTO #TableTemp
SELECT * FROM Annonce
INNER JOIN (Inscription
INNER JOIN (Region
INNER JOIN Dept
ON dp_coder = reg_coder)
ON ins_dept = dp_dept)
ON ann_email = ins_email
WHERE ann_code_famille = @code_famille
AND ann_etat = 'V'
AND ann_type_dour = @DonOuR
ORDER BY ann_type_dour, ann_num_dour;
GO
Jusque là c'est OK, d'autant que la requête toute seule fonctionne (je veux parler du select !).
Pour la chaîne de connexion, j'utilise ;
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=maDB; User ID=sa; Password=admin","",""
Le problème se pose pour l'appel de la procédure qui me rejette en "Impossible de trouver la procédure stockée 'lec_lstann'. ", alors qu'elle est bien reconnue par Web Matrix. Je fais l'appel par :
RS.open "exec lec_lstann '001', 'D'", Conn, adOpenStatic
Mon problème est donc sur l'appel de cette procédure ... je suppose pour la récupération des données c'est transparent (je veux dire que la procédure soit stockée ou non !) mais j'en suis pas là pour l'instant.
Merci de bien vouloir m'aider
Ben
Partager