OVH Cloud OVH Cloud

Exportation de données automatique

8 réponses
Avatar
Gandalf
Bonjour,

Je cherche à exporter de manière automatique une table d'une base de données
dans un format excel sur le serveur, sachant que excel n'est pas forcément
présent sur le serveur.

En fait j'ai deux choix possibles :
-programmer une tâche planifiée sur le serveur MS SQL Server
-utiliser une servlet qui exécuterait une procédure stockée mais je ne sais
pas quelles instructions mettre dans cett procédure

Voilà si quelqu'un peut me répondre rapidement.
Merci d'avance.

8 réponses

Avatar
Med Bouchenafa
Il n'y a pas besoin d'avoir EXCEL sur le serveur.
Il te suffit de mettre sur le serveur un fichier EXCEL vide
Tu te connectes par ODBC sur cette fichier et tu inserses tes donnees
Tu peux mettre en place une procedure qui copie ou recree ce fichier vide a
chaque fois que tu veux l'utiliser

--
Bien cordialement
Med Bouchenafa


"Gandalf" wrote in message
news:
Bonjour,

Je cherche à exporter de manière automatique une table d'une base de
données
dans un format excel sur le serveur, sachant que excel n'est pas forcément
présent sur le serveur.

En fait j'ai deux choix possibles :
-programmer une tâche planifiée sur le serveur MS SQL Server
-utiliser une servlet qui exécuterait une procédure stockée mais je ne
sais
pas quelles instructions mettre dans cett procédure

Voilà si quelqu'un peut me répondre rapidement.
Merci d'avance.


Avatar
Gandalf
Bonjour,

Merci pour les infos.
As-tu des exemples de vbscript capables de faire cela : insérer des données
dans le fichier excel à un moment donné.

L'idée ensuite est de savoir comment appeler ce vbscript depuis un cgi
(notamment une servlet ) ?


"Med Bouchenafa" a écrit :

Il n'y a pas besoin d'avoir EXCEL sur le serveur.
Il te suffit de mettre sur le serveur un fichier EXCEL vide
Tu te connectes par ODBC sur cette fichier et tu inserses tes donnees
Tu peux mettre en place une procedure qui copie ou recree ce fichier vide a
chaque fois que tu veux l'utiliser

--
Bien cordialement
Med Bouchenafa


"Gandalf" wrote in message
news:
> Bonjour,
>
> Je cherche à exporter de manière automatique une table d'une base de
> données
> dans un format excel sur le serveur, sachant que excel n'est pas forcément
> présent sur le serveur.
>
> En fait j'ai deux choix possibles :
> -programmer une tâche planifiée sur le serveur MS SQL Server
> -utiliser une servlet qui exécuterait une procédure stockée mais je ne
> sais
> pas quelles instructions mettre dans cett procédure
>
> Voilà si quelqu'un peut me répondre rapidement.
> Merci d'avance.





Avatar
Philippe T [MS]
Bonjour,

Via la commande oSQL / iSQL tu peux exporter ta table dans un format CSV
récupérable facilement sous Excel.

----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"Gandalf" wrote in message
news:
Bonjour,

Merci pour les infos.
As-tu des exemples de vbscript capables de faire cela : insérer des
données
dans le fichier excel à un moment donné.

L'idée ensuite est de savoir comment appeler ce vbscript depuis un cgi
(notamment une servlet ) ?


"Med Bouchenafa" a écrit :

Il n'y a pas besoin d'avoir EXCEL sur le serveur.
Il te suffit de mettre sur le serveur un fichier EXCEL vide
Tu te connectes par ODBC sur cette fichier et tu inserses tes donnees
Tu peux mettre en place une procedure qui copie ou recree ce fichier vide
a
chaque fois que tu veux l'utiliser

--
Bien cordialement
Med Bouchenafa


"Gandalf" wrote in message
news:
> Bonjour,
>
> Je cherche à exporter de manière automatique une table d'une base de
> données
> dans un format excel sur le serveur, sachant que excel n'est pas
> forcément
> présent sur le serveur.
>
> En fait j'ai deux choix possibles :
> -programmer une tâche planifiée sur le serveur MS SQL Server
> -utiliser une servlet qui exécuterait une procédure stockée mais je ne
> sais
> pas quelles instructions mettre dans cett procédure
>
> Voilà si quelqu'un peut me répondre rapidement.
> Merci d'avance.







Avatar
Med Bouchenafa
Quelque chose du genre
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel
8.0;Database=C:book1.xls;',
'SELECT * FROM [Sheet2$]') SELECT * FROM pubs.dbo.authors
regarde aussi
http://support.microsoft.com/?id19951
http://support.microsoft.com/?id21686

--
Bien cordialement
Med Bouchenafa

"Gandalf" wrote in message
news:
Bonjour,

Je cherche à exporter de manière automatique une table d'une base de
données
dans un format excel sur le serveur, sachant que excel n'est pas forcément
présent sur le serveur.

En fait j'ai deux choix possibles :
-programmer une tâche planifiée sur le serveur MS SQL Server
-utiliser une servlet qui exécuterait une procédure stockée mais je ne
sais
pas quelles instructions mettre dans cett procédure

Voilà si quelqu'un peut me répondre rapidement.
Merci d'avance.


Avatar
Gandalf
Merci pour ces infos, finalement j'ai décidé d'exporter la table sous un
format excel avec le planificateur de tâches de SQL Server. Néanmoins, je
n'arrive pas à exporter la table sous un format access.

Y a-t-il une façon spécifique de procéder ?

Merci d'avance pour toute information complémentaire.

"Med Bouchenafa" a écrit :

Quelque chose du genre
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel
8.0;Database=C:book1.xls;',
'SELECT * FROM [Sheet2$]') SELECT * FROM pubs.dbo.authors
regarde aussi
http://support.microsoft.com/?id19951
http://support.microsoft.com/?id21686

--
Bien cordialement
Med Bouchenafa

"Gandalf" wrote in message
news:
> Bonjour,
>
> Je cherche à exporter de manière automatique une table d'une base de
> données
> dans un format excel sur le serveur, sachant que excel n'est pas forcément
> présent sur le serveur.
>
> En fait j'ai deux choix possibles :
> -programmer une tâche planifiée sur le serveur MS SQL Server
> -utiliser une servlet qui exécuterait une procédure stockée mais je ne
> sais
> pas quelles instructions mettre dans cett procédure
>
> Voilà si quelqu'un peut me répondre rapidement.
> Merci d'avance.





Avatar
Gandalf
J'essaye d'exécuter la requête suivante, mais ça ne marche pas, ayant au
préalable exporté les données de la table "authors" dans le fichier
"c:book1.xls".

J'obtiens l'erreur suivante :

Impossible de traiter l'objet 'SELECT * FROM [Sheet2$]'. Le fournisseur OLE
DB 'Microsoft.Jet.OLEDB.4.0' indique que l'objet n'a pas de colonnes.
Trace de l'erreur OLE DB [Non-interface error: OLE DB provider unable to
process object, since the object has no
columnsProviderName='Microsoft.Jet.OLEDB.4.0', Query=SELECT * FROM
[Sheet2$]'].



"Med Bouchenafa" a écrit :

Quelque chose du genre
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel
8.0;Database=C:book1.xls;',
'SELECT * FROM [Sheet2$]') SELECT * FROM pubs.dbo.authors
regarde aussi
http://support.microsoft.com/?id19951
http://support.microsoft.com/?id21686

--
Bien cordialement
Med Bouchenafa

"Gandalf" wrote in message
news:
> Bonjour,
>
> Je cherche à exporter de manière automatique une table d'une base de
> données
> dans un format excel sur le serveur, sachant que excel n'est pas forcément
> présent sur le serveur.
>
> En fait j'ai deux choix possibles :
> -programmer une tâche planifiée sur le serveur MS SQL Server
> -utiliser une servlet qui exécuterait une procédure stockée mais je ne
> sais
> pas quelles instructions mettre dans cett procédure
>
> Voilà si quelqu'un peut me répondre rapidement.
> Merci d'avance.





Avatar
Med Bouchenafa
D'apres le message d'erreur, il n'y a pas d'entetes de colonnes dans le
fichier EXCEL,
Il faut preparer la feuille EXCEL avec les entetes des colonnes a recevoir

--
Bien cordialement
Med Bouchenafa

"Gandalf" wrote in message
news:
J'essaye d'exécuter la requête suivante, mais ça ne marche pas, ayant au
préalable exporté les données de la table "authors" dans le fichier
"c:book1.xls".

J'obtiens l'erreur suivante :

Impossible de traiter l'objet 'SELECT * FROM [Sheet2$]'. Le fournisseur
OLE
DB 'Microsoft.Jet.OLEDB.4.0' indique que l'objet n'a pas de colonnes.
Trace de l'erreur OLE DB [Non-interface error: OLE DB provider unable to
process object, since the object has no
columnsProviderName='Microsoft.Jet.OLEDB.4.0', Query=SELECT * FROM
[Sheet2$]'].



"Med Bouchenafa" a écrit :

Quelque chose du genre
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel
8.0;Database=C:book1.xls;',
'SELECT * FROM [Sheet2$]') SELECT * FROM pubs.dbo.authors
regarde aussi
http://support.microsoft.com/?id19951
http://support.microsoft.com/?id21686

--
Bien cordialement
Med Bouchenafa

"Gandalf" wrote in message
news:
> Bonjour,
>
> Je cherche à exporter de manière automatique une table d'une base de
> données
> dans un format excel sur le serveur, sachant que excel n'est pas
> forcément
> présent sur le serveur.
>
> En fait j'ai deux choix possibles :
> -programmer une tâche planifiée sur le serveur MS SQL Server
> -utiliser une servlet qui exécuterait une procédure stockée mais je ne
> sais
> pas quelles instructions mettre dans cett procédure
>
> Voilà si quelqu'un peut me répondre rapidement.
> Merci d'avance.







Avatar
Pierre Goiffon
Gandalf wrote:
J'essaye d'exécuter la requête suivante, mais ça ne marche pas, ayant au
préalable exporté les données de la table "authors" dans le fichier
"c:book1.xls".

J'obtiens l'erreur suivante :

Impossible de traiter l'objet 'SELECT * FROM [Sheet2$]'. Le fournisseur OLE
DB 'Microsoft.Jet.OLEDB.4.0' indique que l'objet n'a pas de colonnes.
Trace de l'erreur OLE DB [Non-interface error: OLE DB provider unable to
process object, since the object has no
columnsProviderName='Microsoft.Jet.OLEDB.4.0', Query=SELECT * FROM
[Sheet2$]'].



Essayez de préciser les noms des colonnes dnas votre requète, voir si
cela chg qq chose ?

SELECT Col1, Col2, Col3, ... FROM ...