我无法使用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,然后将其作为参考加载。
有谁知道如何使连接字符串起作用?
答案 0 :(得分:0)
NpgsqlConnection conn = new NpgsqlConnection("Server=192.168.1.220;Port=5432;User Id=pgsql;Password=pgsql;Database=pgsql;");
也许您还没有图书馆 Mono.Security.dll 。旧版本中有必要小于3.0或启用系统防火墙吗?