begin process at 2010 07 29 22:40:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > LIRE SUR SQL SERVER 2005 LE NOM DE MES PROPRES SCHEMAS XSD (XML)

LIRE SUR SQL SERVER 2005 LE NOM DE MES PROPRES SCHEMAS XSD (XML)


 Information sur la source

Note :
Aucune note
Catégorie :Trucs & Astuces Classé sous :xsd, xml, schéma, sqlserver2005 Niveau :Débutant Date de création :09/01/2007 Date de mise à jour :18/01/2007 11:07:58 Vu :3 072

Auteur : dedzep

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

 Description

cherchant a lire sur sql server le nom de mes propres schemas xml
je me suis tombé sur cette excellente source de skweeky qui a été le début de ma solution
http://www.sqlfr.com/codes/SQL-SERVER-200 5-RECUPERER-CONTENU-SCHEMA-XSD_40058.aspx

Malheur eusement cela me renvoyait dans un champs le contenu de tout mes schemas
or moi je voulais savoir quels etaient les noms des schema stocké dans ma base !

Ne trouvant aucune information sur msdn2 ou msdn sur XML_SCHEMA_NAMESPACE(sch.name, xsd.name) quand on ne connait pas par avance le nom du schema

j'ai trouvé en tatonnant ceci

Source

  • SELECT XML_SCHEMA_NAMESPACE(sch.name, xsd.name)
  • FROM sys.xml_schema_collections AS xsd
  • JOIN sys.schemas AS sch ON xsd.schema_id = sch.schema_id
  • WHERE sch.schema_id <> 4
  • and xsd.name = 'SchemaXMLBovin'
  • go
  • --(c'est l'exemple de skweeky "amélioré") quoique plus simple en mettant directement
  • SELECT XML_SCHEMA_NAMESPACE(sch.name, xsd.name)
  • FROM sys.xml_schema_collections AS xsd
  • JOIN sys.schemas AS sch ON xsd.schema_id = sch.schema_id
  • WHERE xsd.name = 'SchemaXMLBovin'
  • Je trouve bien le contenu de mon schema mais pas son nom !
  • c'est en faisant ceci que j'ai eu l'info qui manquait
  • SELECT * FROM sys.xml_schema_collections
  • du coup j'ai trouvé OU chercher l'info et donc la voici
  • SELECT xsd.name FROM sys.xml_schema_collections AS xsd
  • JOIN sys.schemas AS sch ON xsd.schema_id = sch.schema_id
  • WHERE sch.schema_id <> 4 ou alors WHERE xsd.name = 'SchemaXMLqueJeCherche'
  • go
  • notez qu'il y a bien plus simple :)
  • SELECT name FROM sys.xml_schema_collections
  • WHERE schema_id <> 4
SELECT    XML_SCHEMA_NAMESPACE(sch.name, xsd.name) 
FROM sys.xml_schema_collections AS xsd 
    JOIN sys.schemas AS sch ON xsd.schema_id = sch.schema_id 
WHERE sch.schema_id <> 4 
and xsd.name = 'SchemaXMLBovin'
go

--(c'est l'exemple de skweeky "amélioré") quoique plus simple en mettant directement
SELECT    XML_SCHEMA_NAMESPACE(sch.name, xsd.name) 
FROM sys.xml_schema_collections AS xsd 
    JOIN sys.schemas AS sch ON xsd.schema_id = sch.schema_id 
WHERE  xsd.name = 'SchemaXMLBovin'

Je trouve bien le contenu de mon schema mais pas son nom !

c'est en faisant ceci que j'ai eu l'info qui manquait
SELECT * FROM sys.xml_schema_collections

du coup j'ai trouvé OU chercher l'info et donc la voici

SELECT xsd.name FROM sys.xml_schema_collections AS xsd 
    JOIN sys.schemas AS sch ON xsd.schema_id = sch.schema_id 
WHERE sch.schema_id <> 4 ou alors WHERE xsd.name = 'SchemaXMLqueJeCherche'  
go

notez qu'il y a bien plus simple :)

SELECT name FROM sys.xml_schema_collections 
WHERE schema_id <> 4

 Conclusion

And in the end
The love you take
Is equal to the love you make


 Historique

16 janvier 2007 14:41:27 :
suite à la remarque de Fabrice Romelard : ceci ne fonctionne que sur SQL Server 2005
17 janvier 2007 14:43:55 :
ajout d'une fonction et rectif des mots clefs et du titre
18 janvier 2007 11:07:58 :
modif mot cles

 Sources de la même categorie

Source avec Zip Source avec une capture SQL SERVER - GENERATION AUTOMATIQUE D'UNE RETRO-DOCUMENTATIO... par FENETRES
[SQL SERVEUR] VÉRIFIER L'ESPACE OCCUPÉ DANS UNE BASE DE DONN... par Hyperion
TROUVER LES PROCHAINS ANNIVERSAIRES par zefo
REQUÊTE SQL POUR DÉTERMINER L'ESPACE OCCUPÉ DANS LES TABLESP... par sgoriaud
SQL SERVER - OBTENIR LES VALEURS CORRESPONDANT A DES UNICODE par fabrice69

 Sources en rapport avec celle ci

SQL SERVER 2005 : HISTORISER LES PROCÉDURES STOCKÉES D'UNE B... par skweeky
SQL SERVER 2005 : RÉCUPÉRER LE CONTENU D'UN SCHÉMA XSD par skweeky
SQL SERVER 2005 - CHANGER LE SCHEMA PAR DEFAUT DE TOUS LES U... par fabrice69

Commentaires et avis

Commentaire de fabrice69 le 16/01/2007 10:37:34 administrateur CS

Bonjour,
la source est intéressante, mais il faut absolument préciser aux utilisateurs sur quel environnement votre script fonctionne.
En l'occurence, ce script ne fonctionne pas sur les versions antérieures à SQL Server 2005.

Cordialement
Romelard Fabrice [MVP]

Commentaire de dedzep le 16/01/2007 14:52:09

Merci Fabrice, erreur corrigée !
Ceci dit je n'arrive pas à recuperer le resultat en asp.net vb pour afficher toute l'arborescence de mon xsd
ma requette étant
SELECT XML_SCHEMA_NAMESPACE(sch.name, xsd.name)
FROM sys.xml_schema_collections AS xsd
    JOIN sys.schemas AS sch ON xsd.schema_id = sch.schema_id
WHERE xsd.name = 'SchemaXMLBovin'  

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

XML - XSD et SQLXMLBulkLoad [ par Troyan ] bonjour,j'utilise SQLXMLBulkLoad  pour insérer un fichier XML dans ma base SQL 2005ca marche impeccable il me créé bien les 2 tables dans ma base avec xml comme une table. [ par bossun ] salut,j'ai un peu de peine avec t-sql et xml.j'ai une structure comme ceci.. Schéma de données [ par MadM@tt ] Bonjour à tous,J'aurais besoin de votre avis au niveau de la conception d'une de mes tables.J'ai des sites à référencer dans un annuaire.J'ai une tabl WSDL et Type XML [ par Malkuth ] Bonjour,je voudrais savoir s'il y'a une méthode permétant dans un EndPoint SOAP de généré un WSDL qui soit fortement typé sur les paramêtre de type XM Update d'un schema XSD dans SQL server 2005 [ par yalk1960 ] Bonjour,Je dois mettre à jour un schema XSD dans SQL server 2005 et j'aimerai avoir le query pour la réussir et si c'est possible savoir si au niveau SOS query mssql [ par yalk1960 ] J'aimerai savoir si mon query est correcte, je voudrais copier une table SCH_website_xml dans une nouvelle table journal_update, qui crée un champ dat trigger [ par yalk1960 ] Je voudrais copier une table SCH_website_xml dans une nouvelle table journal_update, qui crée un champ date de création pour chaque fois que le update Requete INSERT [ par Frenzey ] Bonjour j'ai réalisé un script qui permet de parse un fichier xml et de transferer le contenu sur une Base de donnée grace à une requete INSERT. le pr transformation de xml vers xml [ par awata ] Bonjour,désolée peut être mon thème ne correspond guère à ma demande je m'en excuse.j'ai un poblème concernant la transformation d'un fichier xml vers Passer de SQLServerExpress à SQLServer2005 [ par desperados27 ] Le problème est dans le titre.En effet en passant de l'un à l'autre visual studio ne reconnait pas la connexion à la base de données. (J'ai pas mal bi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
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,515 sec (3)

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