Import d XML ds une Base de donnee ( SQL server)

dieboldfr Messages postés 3 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 14 octobre 2004 - 14 oct. 2004 à 12:08
yrt007 Messages postés 13 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 17 août 2010 - 17 août 2010 à 18:14
Bonjour,

Voila j aimerai updater une database a l'aide d'un fichier xml. Grosomodo., Un utilisateur recupere un fichier XML des data de la base de donnee. Fait des modifs et Upload le fichier sur un portal pour mettre a jour les donnees de la BD.

Je voudrais savoir si quelqu'un avait deja essaye, et si des liens utiles pour ce sujet existe...

D apres mes recherches il suffirait d'utiliser la DLL: SQLXml,et modifier et creer les bons DataSet ce qui devrait marcher.

Le probleme c'est que l'update serait assez complique, sur plusieurs tables. et pourrait faire appel a des Inserts / delete / update.

Quelqu'un pourrait m'aider sur ce sujet.

merci d'avance.
Thomas,

2 réponses

hichamalcolmx Messages postés 6 Date d'inscription samedi 6 octobre 2007 Statut Membre Dernière intervention 8 mars 2009
1 janv. 2009 à 13:00
est ce que ta trouvé une solution ??????????????????!!
0
yrt007 Messages postés 13 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 17 août 2010
17 août 2010 à 18:14
import de l'xml t_tab_ml.xml ds ma base avec (import.sql)

USE ATEL_MODULES

---$ Create table dbo.T_TAB_ML
IF EXISTS (select * from dbo.sysobjects where id = object_id(N'[dbo].[T_TAB_ML]'))
begin
print 'Raz table dbo.T_TAB_ML'
DROP TABLE "T_TAB_ML"
end

print 'Créate table dbo.T_TAB_ML'
CREATE TABLE T_TAB_ML
(
Id INT PRIMARY KEY,
NameFrench NVARCHAR(50),
NameEnglish NVARCHAR(50)
)
GO

print 'Alimente la table dbo.T_TAB_ML'
INSERT INTO T_TAB_ML(Id, NameFrench, NameEnglish)
SELECT X.libelle.query('Id').value('.', 'INT'),
X.libelle.query('NameFrench').value('.', 'NVARCHAR(50)'),
X.libelle.query('NameEnglish').value('.', 'NVARCHAR(50)')
FROM (
SELECT CAST(x AS XML)
FROM OPENROWSET(
BULK 'c:\temp\T_TAB_ML.xml',
SINGLE_BLOB) AS T(x)
) AS T(x)
CROSS APPLY x.nodes('libelles/libelle') AS X(libelle);
SELECT * FROM T_TAB_ML

avec t_tab_ml.xml qui ressemble à

<libelles>
<libelle>
1
<NameFrench>Propriétés générales</NameFrench>
<NameEnglish>General Properties</NameEnglish>
</libelle>
</libelles>
0
Rejoignez-nous