2017-02-03 4 views
0

J'ai une base de données PostgreSQL 9.6.1 à partir de laquelle je veux extraire des données à utiliser dans Excel avec Get & Transform (PowerQuery). J'ai 64 bits Excel 2016 Pro Plus fonctionnant sous Windows 10 64 bits avec .NET framework 4.6 installé. Lorsque j'essaie d'utiliser "Données-> Nouvelle requête -> À partir de la base de données -> Depuis la base de données PostgreSQL", je mets le nom du serveur (localhost) et le nom du DB dans la boîte de dialogue.Exception dans npgsql 3.2.0 se connecter à PostgreSQL via Excel PowerQuery

Je reçois alors le message d'erreur,

Une erreur est survenue lors de la lecture des données du fournisseur: « Le type initialiseur pour « Npgsql.Counters » a lancé une exception. »

J'ai la configuration suivante:

  • Npgsql 3.2.0 installé avec NuGet. Il existe 3 versions de la DLL, net45, net451 et netstandard1.3. J'ai utilisé net451 pour aucune autre raison que c'était plus proche de 4.6.
  • mono.security.dll 4.0.0.0. J'ai ajouté les deux DLL dans le cache global avec gacutil.exe
  • I machine.config mis à jour comme suit pour DbProviderFactories

    add description = "Net Provider de données-cadre pour Postgresql serveur" type = "Npgsql.NpgsqlFactory , Npgsql, version = 3.2.0.0 , Culture = neutral, PublicKeyToken = 5d8b90d52f46fda7" name = "fournisseur de données Npgsql" invariant = "" support = "Npgsql FF"

quelqu'un pourrait-il me aider à comprendre si je fait quelque chose de mal?

+0

Pouvez-vous publier une trace de pile d'exception complète avec des détails? Le message que vous avez posté fournit très peu d'informations. Vous n'avez pas non plus besoin de Mono.Security.dll dans votre GAC (ou ailleurs), il est recommandé de le supprimer. –

+0

Bien que je ne sache rien sur le sujet, je peux vous diriger vers un autre article sur Power Query et PostgreSQ ici: https://social.technet.microsoft.com/Forums/en-US/673a8cd6-f7f0-438d-81ad- 7736d35afcaf/power-query-et-materialized-views-in-postgresql? Forum = powerquery – MarcelBeug

+0

@ShayRojansky la ligne officielle de Microsoft est que vous devez installer mono.security [link] (https://support.office.com/en -us/article/Connexion à une base de données PostgreSQL-Power-Query-bf941e52-066f-4911-a41f-2493c39e69e4? ui = en-US & rs = en-US & ad = US & fromAR = 1). J'ai enlevé le Mono.Security, mais ai toujours le problème. Je n'ai pas la trace de pile, seulement la boîte de dialogue. Où puis-je obtenir la trace de la pile? – soggers

Répondre

1

Il semble que ce soit un problème avec une version récente de npgsql? Jusqu'à ce que ce soit résolu, si vous installez la version 3.1 ou 3.0 Power Query devrait fonctionner :)

Une autre chose que vous pouvez essayer est d'utiliser net45. Nous soutenons officiellement .NET 4.5.1 mais parfois vous avez plus de chance avec les anciennes versions.

+1

J'ai rétrogradé à 3.1.9 et cela fonctionne maintenant. On dirait un problème avec 3.2.0. – soggers