连接AWS RDS的NpgSQL

3
我正在通过Npgsql学习RDS。 我找不到文档告诉我如何从运行在本地的C#.NET程序连接到AWS RDS PostgreSQL。换句话说,我有一个在PC桌面或本地应用服务器上运行的代码,希望访问RDS上的PostgreSQL数据库。 在连接打开请求中,我收到错误“没有这样的主机”。 我使用了从AWS控制台复制的Endpoint字符串。 请指向适当的文档或示例。我找到了一些JDBC示例/文档,但它对我没有帮助,因为我需要C#.NET。 非常感谢。

1
请发布您的连接字符串以及一些示例代码,以便我们了解您正在做什么。您基本上需要在连接字符串中使用Host=<server>将RDS端点放入其中。 - Shay Rojansky
1
new NpgsqlConnection("Host=mypgrds.cdunzz1fuvf4.ap-southeast-2.rds.amazonaws.com;Username=usr;Password=xxx;Database=mydb;Ssl Mode=Disable;") - Acid Rider
".Open方法失败,显示“没有这样的主机”。我想确定我的连接字符串是否有效,问题是否在我的C#代码之外,也许需要VPC或弹性IP或防火墙等?" - Acid Rider
1个回答

1
尝试连接PostgreSQL的psql first。你说得对,这可能是某种网络配置问题(或只是主机名复制不正确)。

谢谢Shay。我会标记这个回答,因为您没有发现我的连接字符串有任何问题。我会假设问题出在AWS的某个地方——网络、VPC、安全、DNS、防火墙等等。我只是想知道我的连接字符串是否是从本地PC/服务器连接到VPC中的AWS RDS PostgreSQL的正确格式(这是相当冗长的!哈哈)。 - Acid Rider
当客户端在VPC之外运行时,AWS RDS PostgreSQL的正确连接字符串是:new NpgsqlConnection("Host=mypgrds.cdunzz1fuvf4.ap-southeast-2.rds.amazonaws.com;port=1234;Username=myuser;Password=mypassword;Database=mypgdb")。 - Acid Rider
如果对某些人来说不明显,上面我使用了一个随机样本的AWS RDS Endpoint。当您创建RDS PostgreSQL数据库时,您需要将其复制并粘贴到C#.NET连接字符串中。再次感谢您好心人对AWS RDS连接字符串语法的验证。 - Acid Rider

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接