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

Signaler
Messages postés
3
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
14 octobre 2004
-
yrt007
Messages postés
13
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
17 août 2010
-
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

Messages postés
6
Date d'inscription
samedi 6 octobre 2007
Statut
Membre
Dernière intervention
8 mars 2009

est ce que ta trouvé une solution ??????????????????!!
Messages postés
13
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
17 août 2010

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>