连接字符串上的Npgsql异常

时间:2017-02-21 05:35:04

标签: c# .net visual-studio-2010 nuget npgsql

我无法使用Npgsql连接字符串。我尝试了一些方法,例如

NpgsqlConnection conn = new NpgsqlConnection("Server=192.168.1.220;User Id=pgsql;Password=pgsql;Database=pgsql;");

var conn = new NpgsqlConnection("Host=192.168.1.220;Username=pgsql;Password=pgsql;Database=pgsql");

两者都引发了我的异常:

  

'Npgsql.NpgsqlConnectionStringBuilder'的类型初始值设定项引发了异常。

我正在使用VS 2010运行Windows XP 64位。我已经尝试使用ODBC或pgAdmin III从该计算机连接到我的pgsql服务器 - 两者都正常。

这个问题可能与我的Npgsql安装有关吗? 我无法使用NuGet安装它,因为我收到了以下错误:

  

PM>安装包Npgsql   安装'Npgsql 3.2.1'。   成功安装了'Npgsql 3.2.1'。   将“Npgsql 3.2.1”添加到Project。   卸载'Npgsql 3.2.1'。   成功卸载'Npgsql 3.2.1'。   安装失败。滚回来...   Install-Package:无法安装包'Npgsql 3.2.1'。您正在尝试将此软件包安装到以“.NETFramework,Version = v4.0,Profile = Client”为目标的项目中,但是包装   e不包含与该框架兼容的任何程序集引用或内容文件。有关更多信息,请与软件包作者联系。   在行:1字符:16   + Install-Package<<<< Npgsql的       + CategoryInfo:NotSpecified:(:) [Install-Package],InvalidOperationException       + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

我也尝试将目标框架切换到4.0或3.5,但结果完全相同。 所以我只是通过从MSI安装中提取.dll来安装Npgsql,然后将其作为参考加载。

有谁知道如何使连接字符串起作用?

1 个答案:

答案 0 :(得分:0)

你忘记了这个港口。也许这就是原因。监听端口5432的标准PostgreSQL服务器。

NpgsqlConnection conn = new NpgsqlConnection("Server=192.168.1.220;Port=5432;User Id=pgsql;Password=pgsql;Database=pgsql;");

Example Connection String

也许您还没有图书馆 Mono.Security.dll 。旧版本中有必要小于3.0或启用系统防火墙吗?