Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SQL Server 2000] Exporter et importer les donnees d'une table en passant par un fichier

8 réponses
Avatar
Stephane Faure
Bonjour,

Je traduis une application ASP / SQL Server utilisée chez un client, et
dois pour cela ajouter de nouveaux champs et du contenu à certaines tables
de la base, tout en évitant que les données entrées par les utilisateurs
sur d'autres tables ne soient écrasées. Ce (gros) client a une politique
de sécurité très restrictive et il n'est a priori pas possible que je
connecte le SQL Server sur lequel je travaille à celui qu'ils utilisent,
afin de transférer mes tables modifiées par DTS.

Je cherche donc un moyen simple d'exporter la structure et le contenu de
ces tables sous forme de fichier(s), lequel leur sera transmis afin qu'ils
l'importent dans leur base. C'est très simple, avec PhpMyAdmin, de
n'exporter que certaines tables au format SQL, puis de les réimporter
intégralement, mais dans Entreprise Manager, je n'ai pas trouvé. J'ai
essayé de passer par un fichier Excel avec DTS, mais ça n'a fait que
dupliquer les tables lors de l'import, en rajoutant un $ à la fin du nom
de la table.

Pouvez-vous m'aider ?
Merci.

--
Stéphane FAURE
DFM
http://www.dfm.fr

8 réponses

Avatar
Stephane Faure
"Stephane Faure" a écrit dans le message de
news: 45745578$0$11579$

Je cherche donc un moyen simple d'exporter la structure et le contenu de
ces tables sous forme de fichier(s), lequel leur sera transmis afin
qu'ils l'importent dans leur base. C'est très simple, avec PhpMyAdmin,
de n'exporter que certaines tables au format SQL, puis de les réimporter
intégralement, mais dans Entreprise Manager, je n'ai pas trouvé. J'ai
essayé de passer par un fichier Excel avec DTS, mais ça n'a fait que
dupliquer les tables lors de l'import, en rajoutant un $ à la fin du nom
de la table.



Euh... ma question n'était pas claire, ou simplement personne n'a de
réponse ?

--
Stéphane FAURE
DFM
http://www.dfm.fr
Avatar
Romelard Fabrice [MVP]
Bonjour,

Regarde ici :
-
http://www.microsoft.com/downloads/details.aspx?FamilyIDRd6e741-a4e9-4ac5-9877-f4bc0bd06b55&DisplayLang=en


--
Cordialement.

Romelard Fabrice [MVP]

"Stephane Faure" wrote in message
news:45745578$0$11579$
Bonjour,

Je traduis une application ASP / SQL Server utilisée chez un client, et
dois pour cela ajouter de nouveaux champs et du contenu à certaines tables
de la base, tout en évitant que les données entrées par les utilisateurs
sur d'autres tables ne soient écrasées. Ce (gros) client a une politique
de sécurité très restrictive et il n'est a priori pas possible que je
connecte le SQL Server sur lequel je travaille à celui qu'ils utilisent,
afin de transférer mes tables modifiées par DTS.

Je cherche donc un moyen simple d'exporter la structure et le contenu de
ces tables sous forme de fichier(s), lequel leur sera transmis afin qu'ils
l'importent dans leur base. C'est très simple, avec PhpMyAdmin, de
n'exporter que certaines tables au format SQL, puis de les réimporter
intégralement, mais dans Entreprise Manager, je n'ai pas trouvé. J'ai
essayé de passer par un fichier Excel avec DTS, mais ça n'a fait que
dupliquer les tables lors de l'import, en rajoutant un $ à la fin du nom
de la table.

Pouvez-vous m'aider ?
Merci.

--
Stéphane FAURE
DFM
http://www.dfm.fr



Avatar
Stephane Faure
"Romelard Fabrice [MVP]" a écrit dans le message
de news:e8$

Regarde ici :
-
http://www.microsoft.com/downloads/details.aspx?FamilyIDRd6e741-a4e9-4ac5-9877-f4bc0bd06b55&DisplayLang=en



Apparemment ça ne fonctionne que si on a SQL Server 2005 pour exporter...
ce que je craignais. J'ai eu beau installer les 3 autres packages
nécessaires (sur 2 niveaux de dépendances tout de même), j'obtiens ce
message quand j'essaye d'exporter une base :


================================== This method or property is accessible only while working against SQL
Server 2005 or later. (Microsoft.SqlServer.Smo)
------------------------------
For help, click:
http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.2047.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.SupportedOnlyOn90&LinkId 476
------------------------------
Program Location:
à Microsoft.SqlServer.Management.Smo.SqlSmoObject.CheckVersion90()
à
Microsoft.SqlServer.Management.Smo.Database.get_XmlSchemaCollections()
à
Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver.GetListOfObjectUrns(Database
database)
à
Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver.GenerateScript()
à
Microsoft.SqlServer.Management.SqlManagerUI.GenerateScriptMaker.DoScript()
à Microsoft.SqlServer.Management.SqlManagerUI.GenScriptWizForm.Script()
==================================

Le lien indiqué ne mène à rien.

Merci quand même de vous être penché sur mon problème.
Avatar
Romelard Fabrice [MVP]
Effectivement ca ne fonctionnera pas avec la version 2000.
Il s'agit d'appeler la couche SMO de SQL Server 2005 qui est la nouvelle
couche de pilotage remplacant DMO.

Vous avez une astuce possible :
Vous montez un backup de votre base SQL 2000 sur un moteur 2005 (en mode
compatibilité 2000) et utilisez cet outil pour la génération du script.


--
Cordialement.

Romelard Fabrice [MVP]

"Stephane Faure" wrote in message
news:45782e84$0$31023$
"Romelard Fabrice [MVP]" a écrit dans le message
de news:e8$

Regarde ici :
-
http://www.microsoft.com/downloads/details.aspx?FamilyIDRd6e741-a4e9-4ac5-9877-f4bc0bd06b55&DisplayLang=en



Apparemment ça ne fonctionne que si on a SQL Server 2005 pour exporter...
ce que je craignais. J'ai eu beau installer les 3 autres packages
nécessaires (sur 2 niveaux de dépendances tout de même), j'obtiens ce
message quand j'essaye d'exporter une base :


================================== > This method or property is accessible only while working against SQL
Server 2005 or later. (Microsoft.SqlServer.Smo)
------------------------------
For help, click:
http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.2047.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.SupportedOnlyOn90&LinkId 476
------------------------------
Program Location:
à Microsoft.SqlServer.Management.Smo.SqlSmoObject.CheckVersion90()
à Microsoft.SqlServer.Management.Smo.Database.get_XmlSchemaCollections()
à
Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver.GetListOfObjectUrns(Database
database)
à
Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver.GenerateScript()
à
Microsoft.SqlServer.Management.SqlManagerUI.GenerateScriptMaker.DoScript()
à Microsoft.SqlServer.Management.SqlManagerUI.GenScriptWizForm.Script()
================================== >

Le lien indiqué ne mène à rien.

Merci quand même de vous être penché sur mon problème.



Avatar
Stephane Faure
"Romelard Fabrice [MVP]" a écrit dans le message
de news:

Vous avez une astuce possible :
Vous montez un backup de votre base SQL 2000 sur un moteur 2005 (en mode
compatibilité 2000) et utilisez cet outil pour la génération du script.



Est-ce qu'il est possible de faire fonctionner sur un même poste SQL
Server 2005 Express Edition et SQL Server 2000 ?
Ou bien est-ce que le mode de compatibilité 2000 permet de produire des
bases 100 % compatibles avec SQL Server 2000 ?
Merci encore !
Avatar
Stephane Faure
"Stephane Faure" a écrit dans le message de
news: 457d2067$0$6818$

Est-ce qu'il est possible de faire fonctionner sur un même poste SQL
Server 2005 Express Edition et SQL Server 2000 ?
Ou bien est-ce que le mode de compatibilité 2000 permet de produire des
bases 100 % compatibles avec SQL Server 2000 ?



Et j'oubliais : la version Express dispose-t-elle d'une interface de
modification des données ? Si non, est-il possible de lui en ajouter une ?
Avatar
Romelard Fabrice [MVP]
Bonjour,

Pour toutes les questions en rapport avec SQL Server 2005 Express Edition,
vous pouvez aller voir les articles suivants :
- http://www.asp-php.net/tutorial/sql-server/sql2005express.php
- http://www.asp-php.net/tutorial/sql-server/msdetosqlexpress.php
- http://www.asp-php.net/tutorial/sql-server/sqlexpresssp1.php

Pour la gestion du moteur SQL Express :
- http://www.asp-php.net/tutorial/sql-server/sqlexpressmanager.php

Enfin quand à la possibilité d'avoir le moteur SQL Express en parallèle de
l'instance 2000, c'est tout à fait possible.

En revanche la première question bloquante est la volumétrie de votre base,
la limitation de SQL Express est de 4 Go.

--
Cordialement.

Romelard Fabrice [MVP]


"Stephane Faure" wrote in message
news:457d2067$0$6818$
"Romelard Fabrice [MVP]" a écrit dans le message
de news:

Vous avez une astuce possible :
Vous montez un backup de votre base SQL 2000 sur un moteur 2005 (en mode
compatibilité 2000) et utilisez cet outil pour la génération du script.



Est-ce qu'il est possible de faire fonctionner sur un même poste SQL
Server 2005 Express Edition et SQL Server 2000 ?
Ou bien est-ce que le mode de compatibilité 2000 permet de produire des
bases 100 % compatibles avec SQL Server 2000 ?
Merci encore !



Avatar
Stephane Faure
Bonjour,

Je suis donc finalement arrivé à ce que je voulais avec Microsoft SQL
Server Database Publishing Wizard : un beau script SQL que je peux
modifier et qui recrée uniquement les tables voulues avec leurs nouveaux
champ et toutes les données. Merci beaucoup pour votre aide précieuse !

"Romelard Fabrice [MVP]" a écrit dans le message
de news:

Enfin quand à la possibilité d'avoir le moteur SQL Express en parallèle
de l'instance 2000, c'est tout à fait possible.



Effectivement ! Et pour ceux qui ne savent pas, l'interface de gestion qui
va avec, équivalente de Enterprise Manager, s'appelle maintenant SQL
Server Management Studio Express. Elle est aussi disponible gratuitement
en téléchargement sur le site de Microsoft.

En revanche la première question bloquante est la volumétrie de votre
base, la limitation de SQL Express est de 4 Go.



Rassurez-vous, j'en suis très loin ! :-)
Ce sur quoi j'ai bloqué un moment par contre, c'était la restauration du
fichier .bak provenant de SQL Server 2000 dans Management Studio. Il faut
aller dans une rubrique Options pour modifier le chemin des fichiers mdf
et ldf dans lequel SQL Server 2005 stockera ses données... pas des plus
intuitifs ! C'est d'autant plus important à savoir si, par précaution, on
veut garder les bases de la version 2000 en natif.