.net - 无法从 .NET 应用程序连接到 Heroku Postgres (Npgsql)

标签 .net postgresql heroku npgsql

我正在尝试使用 Npgsql 提供程序和 Entity Framework (最新版本)从 C# Windows Forms 应用程序连接到 Heroku Postgres 数据库(业余开发级别),并且我得到了具有以下内部异常的 ProviderIncompatibleException :

"The provider did not return a ProviderManifestToken string." "FATAL: 42501: permission denied for database \"postgres\"" Detail: "User does not have CONNECT privilege."

该数据库由也在 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 数据库。您是否知道可能导致此问题的原因以及如何解决?谢谢。

最佳答案

我们已经发布了一个可能会解决该问题的错误修复版本:https://github.com/npgsql/npgsql/releases/tag/v2.2.5

假设始终可以连接到数据库“postgres”,但 Amazon Redshift 和 Heroku 似乎都取消了对它的一般访问权限。现在,改为使用“template1”。

关于.net - 无法从 .NET 应用程序连接到 Heroku Postgres (Npgsql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28067056/

相关文章:

ruby-on-rails - 无法从某些位置访问 Heroku 上的 Rails 服务器

c# - 我应该为远程处理程序集强命名吗?

.net - .NET 3.5 SP1 客户端框架的 HttpUtility 的替代方案?

postgresql - 错误 : column "xxx" does not exist: Postgresql plpgsql stored procedure

升级到 1.6.5 后的 Django 错误

sql - 查询数据库以获取有条件的每月计数

node.js - 未找到 Webpack,正在部署到 Heroku

c# - 无法加载文件或程序集 '<project name>, Culture=neutral, PublicKeyToken=null'。有人建议修复吗?

c# - 根据另一个列表中的值从列表中选择多个对象

node.js - Heroku piggyback SSL with node and express - 需要任何配置吗?