begin process at 2012 05 27 06:39:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > EXPORT DES DONÉES D'UN SERVEUR MSSQL SERVER

EXPORT DES DONÉES D'UN SERVEUR MSSQL SERVER


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Classé sous :export, sauvegarde, insert, données, transfert Niveau :Initié Date de création :13/12/2005 Date de mise à jour :13/12/2005 19:48:07 Vu :13 750

Auteur : LECHAUVE44

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Vous voulez un script qui puisse faire la sauvegarde de vos données sur un serveur sql server ou de les transférer sur un autre, en voici un.
Il vous permet de générer les commandes insert vous permettant de recharger votre base, mais il ne vous permet pas de la créer : votre base doit exister et les fichiers aussi !

Attention à la durée d'execution, ce script traite tous les fichiers d'un coup ! En cas de problème, enlevez la première requete.
Il vous faut mettre le nom de votre base dans la variable BaseTraitee, ainsi qu'inclure votre script de connection à la base.

Je ne suis pas un vrai developpeur asp, le script est améliorable j'en suis sur !

Source

  • <%@LANGUAGE="VBSCRIPT"%>
  • <% BaseTraitee = "yourdatabase" %>
  • -- <!--#include file="yourconnexionscript.asp" -->
  • -- sauvegarde du <%=date%>
  • --
  • --
  • -- Database: <%=BaseTraitee%>
  • --
  • -- --------------------------------------------------------
  • --
  • --
  • <%
  • Dim myArrayName()
  • Dim myArrayType()
  • ' -----------------------------
  • ' Requete de lecture des tables
  • ' -----------------------------
  • sql="SELECT TABLES.name AS TableTraitee FROM dbo.sysobjects as TABLES WHERE TABLES.xtype = 'U'"
  • set rsrecup = OBJdbConnection.Execute(sql)
  • do while not rsrecup.eof
  • TableTraitee=rsrecup("TableTraitee")
  • response.write Vbcrlf & "-- Table traitée : " & TableTraitee & Vbcrlf
  • iici=0
  • jici=0
  • Redim myArrayName(0)
  • Redim myArrayType(0)
  • ' ----------------------
  • ' Traitement de la table
  • ' ----------------------
  • ' -----------------------------------------------------------------------------------------------
  • 'response.write "EMPTY [" & BaseTraitee & "].[" & TableTraitee & "];" & Vbcrlf
  • ' --------------------------------
  • ' Requete de lecture des rubriques
  • ' --------------------------------
  • sql="SELECT COLONNES.name AS C2, TYPES.name AS C3 FROM dbo.syscolumns as COLONNES INNER JOIN dbo.sysobjects as TABLES ON TABLES.ID = COLONNES.ID INNER JOIN dbo.systypes AS TYPES ON TYPES.xtype = COLONNES.xtype WHERE TABLES.xtype = 'U' and TYPES.name<>'sysname' and TYPES.name<>'image' and TABLES.name='" & TableTraitee & "'"
  • set rsrecupRub = OBJdbConnection.Execute(sql)
  • ' ---------------------------------------------------------------------
  • ' On charge les rubrique dans des tableau pour les lires plusieurs fois
  • ' ---------------------------------------------------------------------
  • do while not rsrecupRub.eof
  • jici=iici+1
  • Redim PRESERVE myArrayName(jici)
  • myArrayName(iici)=rsrecupRub("C2")
  • Redim PRESERVE myArrayType(jici)
  • myArrayType(iici)=rsrecupRub("C3")
  • iici=jici
  • rsrecupRub.movenext
  • loop
  • rsrecupRub.Close
  • NbRub=UBound(myArrayName)
  • ' -----------------------
  • ' Affichage des rubriques
  • ' -----------------------
  • 'response.write "-- Nombre de rubriques : " & NbRub & Vbcrlf
  • 'For iici=0 to UBound(myArrayName)
  • ' response.write "-- " & myArrayName(iici) & "(" & myArrayType(iici) & ")"
  • ' if myArrayName(iici)="lvalue" then
  • ' response.write "(Rubrique non exportée !)"
  • ' end if
  • ' response.write Vbcrlf
  • 'Next
  • ' ------------------------------
  • ' Requete de lecture des données
  • ' ------------------------------
  • Limite=NbRub-1
  • sql="SELECT * FROM " & TableTraitee
  • set rsrecupVal = OBJdbConnection.Execute(sql)
  • ' ------------------------------------------------
  • ' Pour ne pas s'occuper des clef auto-incrementées
  • ' ------------------------------------------------
  • response.write "SET IDENTITY_INSERT [" & BaseTraitee & "].[" & TableTraitee & "] ON;" & Vbcrlf
  • jici = 0
  • do while not rsrecupVal.eof
  • strrub=""
  • strval=""
  • ' --------------------------------
  • ' Création de la ligne d'insertion
  • ' --------------------------------
  • For iici=0 to Limite
  • if myArrayType(iici)= "float" then
  • valeur=Replace("" & rsrecupVal(myArrayName(iici)),",",".")
  • elseif (myArrayType(iici)="datetime" and IsDate(rsrecupVal(myArrayName(iici)))) then
  • ' On convertie la date au format iso AAAA-MM-DD ...
  • d=rsrecupVal(myArrayName(iici))
  • valeur=Year(d)&"-"&Right(Cstr(Month(d)+100),2)&"-"&Right(Cstr(Day(d)+100),2) & Right(d,9)
  • 'merci à Guiliano Sauro dont je me suis inspiré pour cette ligne
  • else
  • valeur=Replace(Replace("" & rsrecupVal(myArrayName(iici)),Vbcrlf,"\n")," ' ", " ' ' ")
  • end if
  • strrub=strrub & "[" & myArrayName(iici) & "]"
  • strval=strval & "'" & valeur & "'"
  • if iici<Limite then
  • strrub=strrub & ","
  • strval=strval & ","
  • end if
  • Next
  • ' ---------------
  • ' Tout ca pour ca
  • ' ---------------
  • str="INSERT INTO [" & BaseTraitee & "].[" & TableTraitee & "] (" & strrub & ") VALUES (" & strval & ");" & Vbcrlf
  • jici=jici+1
  • response.write str
  • rsrecupVal.movenext
  • loop
  • ' -------------------------------------------------
  • ' On rétablie la gestion des clef auto-incrementées
  • ' -------------------------------------------------
  • response.write "SET IDENTITY_INSERT [" & BaseTraitee & "].[" & TableTraitee & "] OFF;" & Vbcrlf
  • response.write "-- Nombre de lignes : " & jici & Vbcrlf
  • ' -----------------------------------------------------------------------------------------------
  • ' -------------------
  • ' Changement de table
  • ' -------------------
  • rsrecup.movenext
  • loop
  • %>
<%@LANGUAGE="VBSCRIPT"%>
<% BaseTraitee = "yourdatabase" %>
-- <!--#include file="yourconnexionscript.asp" -->
-- sauvegarde du <%=date%>
-- 
-- 
-- Database: <%=BaseTraitee%>
-- 
-- --------------------------------------------------------
-- 
-- 
<%
Dim myArrayName()
Dim myArrayType()

' -----------------------------
' Requete de lecture des tables
' -----------------------------
sql="SELECT TABLES.name AS TableTraitee FROM dbo.sysobjects as TABLES WHERE TABLES.xtype = 'U'"
set rsrecup = OBJdbConnection.Execute(sql)

do while not rsrecup.eof
	TableTraitee=rsrecup("TableTraitee")
	response.write Vbcrlf & "-- Table traitée : " & TableTraitee & Vbcrlf
	iici=0
	jici=0
	Redim myArrayName(0)
	Redim myArrayType(0)
' ----------------------
' Traitement de la table
' ----------------------

' -----------------------------------------------------------------------------------------------

'response.write "EMPTY [" & BaseTraitee & "].[" & TableTraitee & "];" & Vbcrlf

' --------------------------------
' Requete de lecture des rubriques
' --------------------------------
sql="SELECT COLONNES.name AS C2, TYPES.name AS C3 FROM dbo.syscolumns as COLONNES INNER JOIN dbo.sysobjects as TABLES ON TABLES.ID = COLONNES.ID INNER JOIN dbo.systypes AS TYPES ON TYPES.xtype = COLONNES.xtype WHERE TABLES.xtype = 'U' and TYPES.name<>'sysname' and TYPES.name<>'image' and TABLES.name='" & TableTraitee & "'"
set rsrecupRub = OBJdbConnection.Execute(sql)

' ---------------------------------------------------------------------
' On charge les rubrique dans des tableau pour les lires plusieurs fois
' ---------------------------------------------------------------------
do while not rsrecupRub.eof
	jici=iici+1
	Redim PRESERVE myArrayName(jici)
	myArrayName(iici)=rsrecupRub("C2")
	Redim PRESERVE myArrayType(jici)
	myArrayType(iici)=rsrecupRub("C3")
	iici=jici
	rsrecupRub.movenext
loop
rsrecupRub.Close
NbRub=UBound(myArrayName)

' -----------------------
' Affichage des rubriques
' -----------------------
'response.write "-- Nombre de rubriques : " & NbRub & Vbcrlf
'For iici=0 to UBound(myArrayName)
'	response.write "-- " & myArrayName(iici) & "(" & myArrayType(iici) & ")"
'	if myArrayName(iici)="lvalue" then
'		response.write "(Rubrique non exportée !)"
'	end if
'	response.write Vbcrlf
'Next

' ------------------------------
' Requete de lecture des données
' ------------------------------

Limite=NbRub-1
sql="SELECT * FROM " & TableTraitee
set rsrecupVal = OBJdbConnection.Execute(sql)

' ------------------------------------------------
' Pour ne pas s'occuper des clef auto-incrementées
' ------------------------------------------------
response.write "SET IDENTITY_INSERT [" & BaseTraitee & "].[" & TableTraitee & "] ON;" & Vbcrlf

jici = 0
do while not rsrecupVal.eof
	strrub=""
	strval=""

' --------------------------------
' Création de la ligne d'insertion
' --------------------------------
	For iici=0 to Limite
		if myArrayType(iici)= "float" then
			valeur=Replace("" & rsrecupVal(myArrayName(iici)),",",".")
		elseif (myArrayType(iici)="datetime" and IsDate(rsrecupVal(myArrayName(iici)))) then
			' On convertie la date au format iso AAAA-MM-DD ...
			d=rsrecupVal(myArrayName(iici))
			valeur=Year(d)&"-"&Right(Cstr(Month(d)+100),2)&"-"&Right(Cstr(Day(d)+100),2) & Right(d,9)
			'merci à Guiliano Sauro dont je me suis inspiré pour cette ligne
		else
			valeur=Replace(Replace("" & rsrecupVal(myArrayName(iici)),Vbcrlf,"\n")," ' ", " ' ' ") 
		end if
		strrub=strrub & "[" & myArrayName(iici) & "]"
		strval=strval & "'" & valeur & "'"
		if iici<Limite then
			strrub=strrub & ","
			strval=strval & ","
		end if
	Next

' ---------------
' Tout ca pour ca
' ---------------
	str="INSERT INTO [" & BaseTraitee & "].[" & TableTraitee & "] (" & strrub & ") VALUES (" & strval & ");" & Vbcrlf
	jici=jici+1
	response.write str
	rsrecupVal.movenext
loop

' -------------------------------------------------
' On rétablie la gestion des clef auto-incrementées
' -------------------------------------------------
response.write "SET IDENTITY_INSERT [" & BaseTraitee & "].[" & TableTraitee & "] OFF;" & Vbcrlf

response.write "-- Nombre de lignes : " & jici & Vbcrlf
' -----------------------------------------------------------------------------------------------
' -------------------
' Changement de table
' -------------------
	rsrecup.movenext
loop
%>



 Historique

13 décembre 2005 19:48:08 :
j'ai préciser les paramêtres à changer

 Sources de la même categorie

Source avec Zip GESTION_ENSEIGNANTS par Elmarzougui
Source avec Zip ZONE MEMBRE EN ASP "E-MEMBRES1.0" par cmaelc
Source avec Zip Source avec une capture Source .NET (Dotnet) ADMINISTRATION BASE DE DONNÉES ORACLE par chbayah
Source avec Zip Source avec une capture Source .NET (Dotnet) UTILISATION D'UN DATASET par ManuAntibes
Source avec Zip Source .NET (Dotnet) INSERTION / RECUPERATION D'IMAGE STOCKEE DANS UNE DB MS SQL ... par jimmy69

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) GRIDVIEW DATE PICKER JAVASCRIPT par fredzool
ENVOI (SAUVEGARDE) D'UN FICHIER BINAIRE SUR UN SITE DISTANT ... par Chrigou
RÉCUPÉRER DONNÉES REQUEST.FORM OU ASPSMARTUPLOAD ? par matche
INSERT DANS UNE BASE DE DONNEES par mojo9
LES BASES DE DONNÉES par ASPMan

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Export de données sous form 'INSERT..' sous SQL Server 7 [ par KrakiNet ] Bonjour,Je voudrais exporter les données d'une table sous SQL Server 7 dans un fichier SQL sous forme de requêtes "INSERT INTO.."Quelqu'un peut m'aide transfert des données de LDAP vers SQL [UrGent] [ par snoy_doc ] je veux transferer des données de LDAP Vers une autre base SQL!Le seul problème qui se pose c'est que je ne sais pas est ce que c'est possible de se c transfert de données sans passer par une zone de saisie [ par gnock ] Bonjour, j'aurai une petite question en ASP/VbScript: comment peut-on transférer des données d'une page à une autre sans les placer dans une zone d transfert de données [ par batracks ] comment fait-on avec un VBScript pour transférer les données d'une base SQL Server vers une autre base SQL Server sachant que les noms de tables et de Sauvegarde et récupération des données d'un tableua [ par pasrag ] Bonjour, je vous explique mon problème.Je débute en ASP, et je travaille avec VB .Net.Mon site possède un calendrier, et chaque fois que l'utilisateur Transfert des données.... [ par MrOsmose ] Je suis pas vraiment habitué a l'ASP, mais on m'a demander de modifier l'interface d'un site fait en ASP...ce que je voudrais savoir c'est comment je Export de données Access vers Excel Via ASP [ par bellysland ] Bonjour &#224; tous,Je viens de reprendre une programmation sous ASP, mais voil&#224; que j'ai un probl&#232;me pour l'exportation de donn&#233;es de Export données [ par rikou31 ] Bonjour, Voila j'ai une base ORACLE avec plusieurs&nbsp; INSTANCES (1 dixaine). Je voudrai extraire certaine donn&#233;es des tables sur chaque Problème export excel et update panel [ par gabiset ] Bonjour,J'ai un gridview que je souhaite exporter sous Excel. Mon code fonctionnait très bien jusqu'à ce que j'ajoute un UpdatePanel autour de mon gri documentation sur sauvegarde et restauration de bases de données oracle [ par travail2009 ] boujour tout le mondeje vous pries de bien m'orienter sur des sites ou je peux de la documentation bien détaillée sur la sauvegarde et la restauration


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales