【发布时间】:2015-03-19 23:06:33
【问题描述】:
我正在尝试使用 Npgsql 提供程序和实体框架(最新版本)从 C# Windows 窗体应用程序连接到 Heroku Postgres 数据库(爱好开发级别),并且我得到一个带有以下内部异常的 ProviderIncompatibleException :
“提供者没有返回 ProviderManifestToken 字符串。” “致命的: 42501: 拒绝数据库 \"postgres\"" 的权限 详细信息: "用户没有 没有 CONNECT 权限。”
该数据库由同样在 Heroku 上运行的 Ruby on Rails 应用程序访问,我可以通过 Windows 上的 pgAdmin III 访问它。我认为这不是 Npgsql 的问题,因为该连接与本地和远程 PostgreSQL 开发数据库完美配合。
我在 app.config 文件中使用的连接字符串如下所示:
Server=HerokuAmazonAWS;Port=5432;Database=MyHerokuDatabase;User Id=MyHerokuUsername;Password=MyHerokuPassword;SSL=true;SslMode=Require;
由于 Heroku 需要与数据库的 SSL 连接,我已将其设置在连接字符串中,因此这似乎不是问题。这个“数据库 postgres 的权限被拒绝”错误困扰着我,因为我没有尝试连接到该服务器上的 postgres 数据库。您是否有任何想法可能导致此问题以及如何解决?谢谢。
【问题讨论】:
标签: .net postgresql heroku npgsql