Power Bi PostgreSQL数据导入错误-根据验证过程,远程证书无效,'“

w9apscun  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(2)|浏览(468)

我正在尝试将PostgreSQL数据库连接到Power Bi。数据库托管在Heroku上。我收到以下错误-

An error happened while reading data from the provider: 
'The remote certificate is invalid according to the validation procedure.

我想我得到这个错误是因为它需要“sslmode=require"。但是我不确定如何继续。
有人能帮我解决这个问题吗?
先谢谢你。

jq6vz3qz

jq6vz3qz1#

这些步骤应该可以帮助您通过ODBC连接到Power BI桌面。注意,您可能应该在heroku中创建一个follower数据库,这样您就不用使用生产数据库凭据。
1.下载PostgreSQL ODBC驱动程序并安装。注意,请确保在安装期间检查GAC选项(https://www.postgresql.org/ftp/odbc/versions/msi/)。
1.重新启动计算机。
1.打开Power BI并单击功能区中的“获取数据”按钮。
1.单击“其他”,然后选择“ODBC”。
1.选择“无”作为数据源名称。
1.单击“高级选项”并输入以下连接字符串:Driver={PostgreSQL Unicode};Server=HEROKU_HOST,其中HEROKU_HOST是您的heroku数据库凭证中的“主机”(例如:ec2-xx-xxx-xx-xx.xxx.amazon.com)的数据。
1.在下一个屏幕上,输入用户名(来自heroku db凭据的用户)、密码(来自heroku db凭据的密码),并在连接字符串中输入以下内容(将HEROKU_XXXX替换为您的信息:PORT=HEROKU_PORT;DATABASE=HEROKU_DATABASE;POOLING=True;MINPOOLSIZE=1;MAXPOOLSIZE=20;HOST=HEROKU_HOST;COMPATIBLE=2.2.3.0;USER ID=HEROKU_USER;PASSWORD=HEROKU_PASSWORD;SSLMODE=require

d8tt03nd

d8tt03nd2#

我不使用Heroku,但在AWS中也遇到了类似的问题,不得不按照下面的描述配置数据库提供程序和证书。
我做了一些调查,发现了两个可能的解决办法Heroku:

  • 在数据库连接中提供额外的设置sslmode=Require;Trust Server Certificate=true。这似乎不是PowerBI的选项,因为即使在“高级设置”下也没有提供这些设置。
  • 按照这里描述的方法为您的数据库下载证书,然后按照与我下面所做的几乎相同的过程在Windows中注册证书。如果Heroku提供了P7 B(PKCS#7或pfx(PKCS#12))格式的证书,您可以在Windows中注册该证书,而不必进行我所描述的转换。

我的Npgsql提供程序和AWS证书设置

PowerBI和Excel支持使用Npgsql .NET数据提供程序连接到Postgres。默认情况下,Windows上不安装此提供程序。以下是安装方法:
1.从Npgsql releases page下载相应的.msi安装程序。所需的版本取决于您的Excel版本。我运行的是Office 365,它需要4.0.x版本(我安装了4.0.10,请下载here)。
1.运行安装程序。在安装过程中,有一个安装到GAC的选项 *,默认情况下是关闭的 * -您必须选择将文件安装到GAC。
1.重新启动您的计算机,您应该能够在PowerBI或Excel中连接并设置Postgres连接。

AWS RDS Postgres -附加要求

如果您要连接到AWS中运行的Postgres集群,则在安装Npgsql提供程序后尝试连接到Postgres时,可能会收到以下错误消息:
“根据验证程序,远端凭证无效”
以下是解决方法:
1.下载AWS RDS区域的公钥:https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
1.将捆绑包转换为P7 B/PKCS#7格式的Windows证书。有很多方法可以实现这一点,最简单的方法是使用https://www.sslshopper.com/ssl-converter.html
1.在Windows中,搜索“管理用户证书”实用程序并将其打开。
1.右键单击“受信任的根证书颁发机构”,“所有任务”,“导入...”
1.选择.p7b文件,该文件是将AWS密钥转换为P7 B格式的输出。
1.选择将所有证书放入受信任的根证书颁发机构存储区。
1.您可能需要确认每个证书-每个AWS区域都有一个证书
现在,您应该能够从PowerBI或Excel连接到AWS RDS Postgres数据库。

相关问题