The password is embedded into the query string, and we escape ';' so that can't be it. We can connect without problems with the llblgen pro 3.5 driver. So as we can't reproduce it, could you do the following please?
- download the sourcecode package for v3.5 from the website: my account -> downloads -> 3.5 -> Extras. There you'll find the sourcecode archive.
- unpack it and load the drivers sln file into vs.net. Remove the other driver projects besides the postgresql one as you won't be needing those.
- open assemblyinfo.cs in the postgresql project and remove the line at the bottom which refers to the key to sign the assembly.
- Open the PostgreSQLDBDriver project's properties -> Build events tab and clear the post build events.
- Make sure the references are correct. It references assemblies from the designer, so simply add the assemblies from the llblgen pro installation folder.
- Open PostgreSqlDBDriver.cs, at the top change driverVersion to something different, e.g. "3.5.10132016" so you'll see the designer is using your driver.
- build the project in debug mode. You'll get a dll that's not signed.
- go to <llblgen pro installation folder>\Drivers\PostgreSQL and first copy the dll from there to another folder, e.g. c:\temp\, so you can get back to the official one after this.
- copy the debug built dll and pdb file from the postgresqldbdriver\bin\debug folder into the <llblgen pro installation folder>\Drivers\Postgresql, overwriting the one there.
Start the designer and load your project. It should load properly. Now go back to vs.net with the postgresql driver source loaded. Press Cntrl-Alt-P and attach the debugger to the llblgen pro designer.
Place a breakpoint at:
PostgreSQLDBDriver.cs, line 649
Now refresh your project with the postgresql server. You should hit the breakpoint in vs.net after you click 'Test connection' in the connection dialog.
You can now see/check what the connection string looks like when it's used. It should look OK, even with the password embedded.
The connection string used, can be used to check whether it works with v2 npgsql by creating a normal ADO.NET console app and open an NpgsqlConnection object with the exact connection string.
To test whether it loads v2 or v3, add the following to the bottom of FillNETToDBTypeConversionsList() in PostgreSQLDBDriver.cs:
var connection = this.CreateConnection();
place a breakpoint on that line and re-try the refresh. You should hit that line and stepping over it will give you a real NpgsqlConnection object, you can then check which version is loaded.
Hopefully this gives enough info about what's going on!