2010-07-30 25 views
2

nous avons un vrai problème confus. Nous essayons de tester une charge SQL Bulk Load en utilisant une petite application que nous avons écrite qui passe dans le fichier de données XML, le schéma et la chaîne de connexion à la base de données SQL.Problème au cours de SQL Bulk Load

Il est une application très straight-forward, voici la partie principale du code:

SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class objBL = new SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class(); 
objBL.ConnectionString = "provider=sqloledb;Data Source=SERVER\\SERVER; Database=Main;User Id=Username;Password=password;"; 
objBL.BulkLoad = true; 
objBL.CheckConstraints = true; 
objBL.ErrorLogFile = "error.xml"; 
objBL.KeepIdentity = false; 
objBL.Execute("schema.xml", "data.xml"); 

Comme vous pouvez le voir, il est très simple, mais nous obtenons l'erreur suivante de la bibliothèque que nous transmettons ce truc à: Interop.SQLXMLBULKLOADLib.dll.

Le message se lit comme suit:

Failure: Attempted to read or write protected memory. This is often an indication that other memory has been corrupted

Nous ne savons pas ce qui cause ou ce que cela même moyen.

Avant cela, nous avions d'abord une erreur car SQLXML4.0 n'était pas installé, donc c'était facile à corriger. Ensuite, il y avait une erreur car il ne pouvait pas se connecter à la base de données (chaîne de connexion incorrecte) - corrigé. Maintenant, il y a ceci et nous sommes juste déconcertés.

Merci pour toute aide. Nous nous grattons vraiment la tête!

+0

Quel SGBD, et quelle version? –

+0

Microsoft SQL. Aucune idée quelle version, mais nous utilisons le logiciel 2008 pour l'interface avec elle. Est ce que ça aide? –

Répondre

1

Je ne suis pas familier avec cet utilitaire particulier (Interop.SQLXMLBULKLOADLib.dll), mais avez-vous vérifié que votre XML valide dans son fichier .xsd de schéma? Peut-être que la DLL pourrait avoir des problèmes avec le chargement du fichier de données XML dans les structures de mémoire si elle est invalide?

1

J'essaie de comprendre votre problème, mais j'ai plus de doute en ce que

Si u ont le temps d'essayer accéder au lien ci-dessous, je pense que ce sera certainement utile pour vous link text

1

Je sais que je fait quelque chose qui a soulevé ce message d'erreur une fois, mais (comme cela arrive souvent) le problème a fini par n'avoir rien à voir avec le message d'erreur. Pas beaucoup d'aide, hélas. Quelques idées de dépannage: essayez de déterminer la commande SQL réelle générée et soumise par l'application à SQL Server (SQL Profiler devrait aider ici), et exécutez-le comme "proche" de la base de données que possible - à partir de SSMS , en utilisant SQLCMD, appel BCP direct, tout ce qui est approprié. Détailler tous les tests que vous faites et les résultats que vous obtenez peuvent vous aider.