cs_boubs
Messages postés3Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 avril 2005
-
22 avril 2005 à 12:18
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 2011
-
25 avril 2005 à 13:51
Bonjour
j'aimerais inserer des data dans ma BD Sql Server 2000, j'ai un DataSet qui
contient toutes les tables et leurs lignes à inserer. Est ce que quelcun a déja fait cela
dans un projet csharp ? je sais que sql server permet d'executer des requetes a partir de
xml par rapport a un schéma xdr mais dans csharp ce shéma est xsd et comment
executer ca ?
En résumé je cherche un bout de code qui me permet d'inserer dans ma base
mes données se trouvant dans un fichier xml en utilisant un schéma xds.
Merci
titeoe
Messages postés433Date d'inscriptionsamedi 26 avril 2003StatutMembreDernière intervention 4 décembre 20091 22 avril 2005 à 13:10
salut,
Il faut fair e ca avec une procédure stockée a qui tu passe en parametre une variable de type Ntext.
exemple :
CREATE PROCEDURE maProc
@data Ntext
AS
SET NOCOUNT ON
DECLARE
@hDoc int,
@Trancount int
/*
-----------------------------------------------------------------------------------------------------------------
-- PREPARATION DU DOC XML
-- Chargement du XML dans un document pour analyse
-----------------------------------------------------------------------------------------------------------------
*/
-- On prepare le document XML
EXEC sp_xml_preparedocument
@hDoc OUTPUT,
@data
/*
-----------------------------------------------------------------------------------------------------------------
-- DEBUT DU TRAITEMENT DES PREVISIONS
-- On remplit la table #Employes en parcourant l integralite du document XML
-----------------------------------------------------------------------------------------------------------------
*/
SELECT * INTO maTable
FROM
OPENXML (@hDoc, '/elements/element, 8)
WITH
(
id varchar(10) [mailto:'./@id' './@id'],
value int [mailto:'./@val' './@val']
)
-----------------------------------------------------------------------------------------------------------------
-- FIN DU TRAITEMENT GLOBAL
-- NETTOYAGE DU DOC XML
-----------------------------------------------------------------------------------------------------------------
EXEC sp_xml_removedocument
@hDoc
GO
a supposer que ton doc XML soit de type :
<elements>
<element>
<element>
</elements>
Ceci nécessite néanmoins de connaitre le schéma XSD de tes datatables.
rem : la procédure sp_xml_preparedocument est une fonctionnaliét de SQL serv 7.0
cs_boubs
Messages postés3Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 avril 2005 25 avril 2005 à 12:56
Ta solution supposes que je traite une seule table (?)
dans mon schéma j'ai des relations une à plusieurs et je veux inserer le tout
en utilisant qu'une proédure stockée, est ce qu'il faut déclarer autant de variables
que d'éléments ?
titeoe
Messages postés433Date d'inscriptionsamedi 26 avril 2003StatutMembreDernière intervention 4 décembre 20091 25 avril 2005 à 12:59
Soit tu déclare un ficheir XML par table , soit tu envoie ton fichier XML qui représente ton dataset mais dans ce cas tu vas avoir beaucoup plus de traitemetns a faire une fois arrivé dans ta proc.
Vous n’avez pas trouvé la réponse que vous recherchez ?