2010-10-28 26 views
2

Voici un exemple d'utiliser SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class -Le fichier de schéma xsd doit être annoté dans SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class?

[STAThread] 
    static void Main(string[] args) 
    { 
     try 
     { 
      SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class objBL = new SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class(); 
      objBL.ConnectionString = "Provider=sqloledb;server=server;database=databaseName;integrated security=SSPI"; 
      objBL.ErrorLogFile = "error.xml"; 
      objBL.KeepIdentity = false; 
      objBL.Execute ("schema.xml","data.xml"); 
     } 
     catch(Exception e) 
     { 
     Console.WriteLine(e.ToString()); 
     } 
    } 

Il semble que schema.xml doit être annotées avec des informations sql pour faire importer avec succès. Le fichier xsd régulier ne fonctionne pas.

Existe-t-il des outils ou des moyens pour automatiser la génération d'informations d'annotation basées sur le fichier xsd? Je n'ai pas trouvé de recherche internet. Je me demande comment SSIS peut y parvenir. Y a-t-il un composant qui le fait pour que je puisse l'inclure dans mon application .NET?

Répondre

1

Malheureusement, je ne crois pas qu'il existe, vous devez ajouter ces choses manuellement, autant que je sache. L'avantage est que ce n'est pas trop difficile, cependant, à condition de ne pas heurter un hoquet bizarre.

Si vous postez votre XSD et structure de table peut-être que je peux vous donner un coup de main.

+0

Merci! J'ai découvert qu'il n'existait pas d'outil pour cela après des recherches intensives de nos jours aussi. Vous avez raison, ce n'est pas trop compliqué. J'écris une programmation .NET pour l'annoter automatiquement pour l'instant. Merci d'offrir des aides. – Don

+0

J'ai trouvé que "SQLXML Bulkload 4.0 Type Library" est très lent. Le déchiquetage d'un fichier de 390 Mo en 10 tables sans aucune transformation m'a pris environ une heure. Flatting ce fichier dans une table en mémoire et l'importer avec SqlBulkCopy m'a seulement pris environ 6 minutes. Avez-vous vécu cela? – Don

+0

Je n'ai jamais utilisé Bulk Copy .... mais il semble que je devrais l'essayer! –