2009-09-01 9 views
0

J'appelle une bibliothèque COM de .NET à travers un ensemble de Interop et obtenir l'erreur suivante:Comment faire pour résoudre les problèmes "Valeur de la propriété n'est pas valide.Assurez-vous que la valeur est tapée correctement."?

System.Runtime.InteropServices.COMException(0x80040200): Internal error (ADODB.Connection, -2147467259, Property value is invalid. Make sure the value is typed correctly.)

J'ai un test et une version de production du même système externe. Lorsque j'appelle le système de test via la bibliothèque COM, tout fonctionne correctement, mais lorsque j'appelle le système de production via la bibliothèque COM, j'obtiens l'erreur décrite ci-dessus. Je dois seulement changer un nom d'ordinateur dans une chaîne de connexion pour passer du test à la production donc je suppose que la cause de ce problème est une différence entre le système de test et de production, pas mon programme. Comment puis-je résoudre cette erreur lorsque je n'ai pas le code source dans la bibliothèque COM?

J'ai googlé l'erreur "-2147467259, Property value is invalid. Make sure the value is typed correctly." mais il y a peu à lire sur cette erreur. Le message lui-même est assez clair et peut-être n'y a-t-il rien de plus que de savoir quelle propriété de la connexion est définie avec une valeur mal typée, mais je me demande toujours s'il y a quelque chose à apprendre sur cette erreur particulière ceci sans le code source de la bibliothèque COM. La collection Properties de Connection est utilisée pour les paramètres spécifiques au fournisseur. Le fournisseur dans mon cas est SQLOLEDB.1. Où puis-je trouver les propriétés possibles de ce fournisseur?

+0

-2147467259 ressemble à une variable non initialisée pour moi. –

+0

@ire_and_curses - C'est un HRESULT, un code d'erreur correspondant au message. –

Répondre

1

J'ai reçu cette erreur en utilisant ADO dans VBA derrière Excel. Apparemment, vous ne pouvez pas modifier [DefaultDatabase] sur une connexion ouverte.

Questions connexes