Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 12/04/2011, 15h29   #1
Invité de passage
 
Homme Sam
Inscription : avril 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Sam
Localisation : Belgique

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 2
Points : 0
Points : 0
Par défaut Exportation de données via DTS

Salut à tous!

Voila, je suis entrain de réaliser une exportation de données et je me demande si je travaille de la bonne manière.

Je travaille sur une exportation de rendez-vous qui proviennent de divers agendas. Pour récupérer les rendez-vous d'une personne, je dois appeler une stored proc avec en argument, l'ID de l'agenda, la date de début et la date de fin. J'ai donc écrit un script qui va lire dans la table de mes ressources, et dans une boucle while, j'exécute ma stored proc avec en argument l'ID que je récupère dans ma boucle. Lorsque j'exécute ce script, il me ressort dans le result grid plusieurs grille de résultat (il y a une grille par agenda qui est affichée).

Je dois réaliser un schedule sur ce script afin de générer un fichier de rendez-vous chaque jour.

Le problème, c'est que lorsque j'essaye de créer mon DTS, celui-ci ne renvois aucune données ou plante au moment du pre-execute.



Voici mon script :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
USE mydatabase
 
DECLARE @RC int
DECLARE @rsc_id  varchar(10)
DECLARE @rsc_name varchar(50)
DECLARE @schdp_startDateString varchar(10)
DECLARE @schdp_endDateString varchar(10)
 
SET @schdp_startDateString = CONVERT(VARCHAR(10), DATEADD(day,+3,GETDATE()), 105)
SET @schdp_endDateString = CONVERT(VARCHAR(10), DATEADD(day,+3,GETDATE()), 105)
 
DECLARE resource_cursor CURSOR FOR
SELECT RSC_ID, RSC_NAME FROM RESOURCE 
ORDER BY RSC_ID
 
OPEN resource_cursor
 
-- Perform the first fetch and store the values in variables.
-- Note: The variables are in the same order as the columns
-- in the SELECT statement. 
 
FETCH NEXT FROM resource_cursor
INTO @rsc_id, @rsc_name
 
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN
 
   -- Concatenate and display the current values in the variables.
   PRINT 'Resource: ' + @rsc_id + ' ' + @rsc_name + ' ' + CONVERT(VARCHAR(10), DATEADD(day,1,GETDATE()), 105)
 
 
    EXECUTE @RC = [mydatabase].[dbo].[cr_getSchedule_10] 
       @rsc_id
      ,@schdp_startDateString
      ,@schdp_endDateString
 
 
   -- This is executed as long as the previous fetch succeeds.
   FETCH NEXT FROM resource_cursor
   INTO @rsc_id, @rsc_name
END
 
CLOSE resource_cursor
DEALLOCATE resource_cursor
Est-ce que ce genre de script peut être utilisé pour générer un fichier plat séparé par des ";" ?

Merci pour vos réponses et votre aide!!!!

Sam
samyduj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 07h43   #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:
Est-ce que ce genre de script peut etre utilisé pour générer un fichier plat séparé par des ";" ?
Pour cela voyez cette discussion:
http://www.developpez.net/forums/d10...er-sql-server/


Vous ne détaillez pas l'erreur de votre lot DTS?(vous travaillez donc en SQL SERVER 2000?)
__________________
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 14/04/2011, 09h43   #3
Invité de passage
 
Homme Sam
Inscription : avril 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Sam
Localisation : Belgique

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 2
Points : 0
Points : 0
Bonjour et merci pour votre réponse.

Je travaille sur un sql server 2005.

voici le message d'erreur que me renvoi sql server lors de l’exécution du dts :

Citation:
- Pre-execute (Error)
Messages
Error 0xc02092b4: Data Flow Task: A rowset based on the SQL command was not returned by the OLE DB provider.
(SQL Server Import and Export Wizard)

Error 0xc004701a: Data Flow Task: component "Source - Query" (1) failed the pre-execute phase and returned error code 0xC02092B4.
(SQL Server Import and Export Wizard)
samyduj est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h56.


 
 
 
 
Partenaires

Hébergement Web