Only when using Npgsql with EF6 you will need to reference Npgsql.EntityFramework.dll assembly. This is needed because the EF system has to find it in order to use it. When using EF 4.x, you won't need to reference Npgsql.EntityFrameworkLegacy.dll.
Npgsql 2.2.3.0 -.Net Data Provider for Postgresql A way to uninstall Npgsql 2.2.3.0 -.Net Data Provider for Postgresql from your systemNpgsql 2.2.3.0 -.Net Data Provider for Postgresql is a Windows application. Software Application Disclaimer This page is not a recommendation to remove Npgsql 2.2.3.0 -.Net Data Provider for Postgresql by The Npgsql Development Team from your PC, we are not saying that Npgsql 2.2.3.0 -.Net Data Provider for Postgresql by The Npgsql Development Team is not a good application for your computer. This page simply contains detailed info on how to remove Npgsql 2.2.3.0 -.Net Data Provider for Postgresql in case you decide this is what you want to do. The information above contains registry and disk entries that our application Advanced Uninstaller PRO stumbled upon and classified as 'leftovers' on other users' PCs.
I want to pull data from a PostgreSQL database on my local network with Power Query. By default my version of Excel lists three options under the 'Get External Data/From Database' menu on the Power Query ribbon - 'From SQL Server Database,' 'From Access Database,' and 'From SQL Server Analysis Services Database'. PostgreSQL is not a default option. Luckily (or so I thought) there is article on the official Microsoft Office support page on how to install/enable the for this purpose.
I followed these instructions, but I still only see those three options showing up. I haven't been able to find any other instructions on how to do this through Google. Here's what I did exactly:.
Download Npgsql-2.2.5-net35.zip from, this seems to be the newest release of Npgsql for.Net 3.5. Unzipped to a temporary folder. Copy gacutil.exe and gacutil.exe.config from another computer with Visual Studio to another temporary folder on this computer (found in c: Program Files Microsoft SDKs Windows v7.1 Bin x64 ). Run gacutil.exe /i ' Npgsql.dll' and same with Mono.Security.dll. Got message Assembly successfully added to cache on both. Edit C: Windows Microsoft.NET Framework64 v2.0.50727 CONFIG machine.config XML file (v2.0.50727 is for.Net 3.5). Add line in node.
This is verbatim from the help page except for version number. Verified by running gacutil.exe -l findstr Npgsql that the version number and public key match what I installed. This is the end of the instructions on the help page. Restart Excel, no change in database options in menu. Restart computer, same. Decide to try again with the.Net 4.0 version. Download new version of Npgsql from releases page, unzip to temp folder.
The version of gacutil.exe I copied over was for.Net 3.5. Found the alternate one in a different directory ( c: Program Files (x86) Microsoft SDKs Windows v8.0A bin NETFX 4.0 Tools x64 ), verified it is for 4.0 by running with the -h switch and got Microsoft (R).NET Global Assembly Cache Utility. Version 4.0.0. Copied over to this machine (had to include the 1033 subdirectory with some other dll's in it for it to work). Repeat #3 with new dll's and version of gacutil. Same success message.
Repeat #4 with machine.config file, this time in v4.0.30319 directory. Also commented out the node I had added in the other file. Restart, still no option in menu. At this point I'm out of ideas. I have this working on a couple of other computers because I had installed, which uses a PostgreSQL database and apparently installs the right DLL's alongside it. It shows up in the menu as simply 'From PostgreSQL database'. Of course I could just install Labkey Server on this computer but that seems like an ugly solution I'd like to avoid.
Finally got this working. It looks like for some reason you need the Professional Plus edition of Microsoft Office to enable PostgreSQL connections. With this version freshly installed on a new computer I had the PostgreSQL option under Power Query - From Database available by default.
Once I selected this option, gave the host and database name, then username and password, I got an error telling me I the Ngpsql data provider could not be found. So, the option appearing in the menu is simply due to MS Office version and not whether the Ngpsql provider is installed. I went to page mentioned above, downloaded the SetupNpgsql-2.2.5.0-r3-net40.exe installer, ran, restarted Excel and everything worked. I've no specific experience with PostgreSQL, but in general with database drivers it's critical to start from an understanding of whether the program you are starting from has a 32-bit (aka x86) or 64-bit (aka x64) architecture. As you can start to see from the muddled names for these, Microsoft have made a total hash of this IMO. For Excel 2013, go to File / Account / About Excel, then look at the end of the first line of text. Excel (like all other programs) will only work with drivers of the same architecture.
The Power Query documentation page you linked to hints at this, but it is a bit misleading when they say 'Select the driver that matches your Power Query installation' - really it's your Excel installation that sets the architecture. The architecture for Power Query is also totally dependent on the architecture for Excel.
I downloaded the Ngpsql 2.2.5 R3 file from the link on the Power Query page - it's not really clear but judging from the install wizard this is 32-bit - it suggests installing into folder C: Program Files (x86) The Npgsql Development Team Npgsql If that is the only source, then I suggest you need a 32-bit Excel install to get this working.