使用Asp.Net连接到Heroku Postgres数据库

时间:2016-05-17 12:54:00

标签: asp.net postgresql heroku

我正在寻找从外部应用程序连接到Heroku Postgres数据库的最佳方法。该应用程序在asp.net中。我试图使用NpgSQL但我收到证书未知错误。有没有人这样做过?你有什么指针吗?

2 个答案:

答案 0 :(得分:2)

我使用以下连接字符串连接到Heroku Postgres数据库:

string connString = "User ID=<user>;Password=<pass>;Host=<host>;Port=<port>;Database=<database>;Pooling=true;Use SSL Stream=True;SSL Mode=Require;TrustServerCertificate=True;"

其中<user>, <pass>, <host>, <port> and <database>是来自heroku postgres应用设置的值。默认情况下,端口为5432。

然后使用NpgSql创建NpgsqlConnection的实例:

var conn = new NpgsqlConnection(connString);

Dafault示例:http://www.npgsql.org/doc/index.html

答案 1 :(得分:2)

我用它来将DATABASE_URL“翻译”为连接字符串

var databaseUrl = Environment.GetEnvironmentVariable("DATABASE_URL");
var databaseUri = new Uri(databaseUrl);
var userInfo = databaseUri.UserInfo.Split(':');

var builder = new NpgsqlConnectionStringBuilder
{
    Host = databaseUri.Host,
    Port = databaseUri.Port,
    Username = userInfo[0],
    Password = userInfo[1],
    Database = databaseUri.LocalPath.TrimStart('/')
};

return builder.ToString();