2013-09-23 4 views
1

Je me demandais si quelqu'un avait déjà vu cette exception? J'utilise le pilote C# et j'ai exécuté ce code avec succès sur de nombreux serveurs. Nous voyons cela sur un serveur de production particulier.MongoDB - L'initialiseur de type pour 'MongoDB.Bson.ObjectId' a lancé une exception

La première fois que je vois cela est sur le premier insert dans une nouvelle collection. Après cela, il semble se produire chaque fois que j'appelle InsertBatch pour cette collection.

J'ai réussi à appeler InsertBatch sur d'autres collections avec succès au cours de la même exécution.

erreur * * Message = l'initialiseur de type pour 'MongoDB.Bson.ObjectId' a généré une exception., Trace de pile à MongoDB.Bson.ObjectId.GenerateNewId =() à MongoDB.Bson.Serialization.IdGenerators. BsonObjectIdGenerator.GenerateId (de conteneur d'objets, document objet) à MongoDB.Driver.MongoCollection.InsertBatch (type nominalType, documents IEnumerable, options MongoInsertOptions)

Merci,

Paul

+0

Pouvez-vous le reproduire? Pourriez-vous le déboguer avec le code source du pilote? – WiredPrairie

+0

Nous l'avons reproduit et malheureusement c'est dans l'environnement d'un client donc nous ne pouvons pas le déboguer mais c'est en fait une bonne idée. Je peux au moins le déboguer dans mon environnement pour voir ce qui se passe dans le code. –

+0

J'ai trouvé qu'il est reproductible avec un programme d'une ligne: ObjectId id = ObjectId.GenerateNewId(); L'erreur renvoyée est: L'initialiseur de type pour 'MongoDB.Bson.ObjectId' a généré une exception –

Répondre

0

Vérifiez exceptions internes. Étant donné que Mongo n'implémente pas FIPS et que cela est obligatoire dans certaines configurations système, vous risquez d'obtenir cette erreur même si l'authentification est désactivée lors de la tentative de lecture ou de génération d'un ObjectId (car ils ont une valeur d'ID cryptée). Pour résoudre ce problème, remplacez les valeurs de champ "_id" cryptées de votre collection ou modifiez le registre Windows pour autoriser les applications qui ne mettent pas en œuvre FIPS.

0

J'ai vu la même erreur sur PHP aujourd'hui. Trouvé que c'était un problème connu (voir https://jira.mongodb.org/browse/PHPC-460). Je sais que c'est C# mais peut-être que c'est un problème similaire.

Questions connexes