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