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

时间:2020-02-06 19:59:26

标签: database postgresql powerbi data-import

我正在尝试将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 ”。但我不确定如何进行。

有人可以帮助我解决这个问题。

谢谢。

2 个答案:

答案 0 :(得分:4)

这些步骤应该可以帮助您通过ODBC连接到Power BI桌面。请注意,您可能应该在heroku中创建关注者数据库,以便不使用生产数据库凭据。

  1. 下载PostgreSQL ODBC驱动程序并安装。请注意,请确保在安装过程中检查GAC选项(https://www.postgresql.org/ftp/odbc/versions/msi/)。
  2. 重新启动计算机。
  3. 打开Power BI并单击功能区中的“获取数据”按钮。
  4. 单击“其他”,然后选择“ ODBC”。
  5. 选择“无”作为数据源名称。
  6. 单击“高级选项”,然后输入以下连接字符串: Driver={PostgreSQL Unicode};Server=HEROKU_HOST,其中HEROKU_HOST是您的heroku数据库凭据中的“主机”(例如:ec2-xx-xxx-xx-xx.xxx.amazon.com)。
  7. 在下一个屏幕上,输入用户名(来自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

答案 1 :(得分:0)

我不使用Heroku,但是AWS遇到类似的问题,因此必须按如下所述配置数据库提供程序和证书。我认为Heroku需要类似的东西。

我做了一些挖掘,发现了Heroku的2种可能的解决方案:

  • 在数据库连接中提供其他设置sslmode=Require;Trust Server Certificate=true。这似乎不是PowerBI的选项,因为即使在“高级设置”下,也无处提供这些选项。
  • 按照here的说明为您的数据库下载证书,然后按照与下面在Windows中注册证书的步骤相同的步骤进行操作。如果Heroku提供了P7B(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)。
  2. 运行安装程序。在安装过程中,有一个选项可以安装到GAC (默认情况下已关闭)-您必须选择将文件安装到GAC。
  3. 重新启动计算机,您应该能够在PowerBI或Excel中建立Postgres连接。

AWS RDS Postgres-附加要求

如果您要连接到在AWS中运行的Postgres集群,则当您在安装Npgsql提供程序后尝试连接到Postgres时,可能会收到一条错误消息:

“根据验证过程,远程证书无效”

解决方法如下:

  1. 下载AWS RDS区域的公共密钥:https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
  2. 将捆绑软件转换为P7B / PKCS#7格式的Windows证书。有很多方法可以做到这一点,一种简单的方法就是使用https://www.sslshopper.com/ssl-converter.html
  3. 在Windows中,搜索“管理用户证书”实用程序并将其打开。
    1. 右键单击“受信任的根证书颁发机构”,“所有任务”,“导入...”
    2. 选择.p7b文件,该文件是将AWS密钥转换为P7B格式的输出。
    3. 选择将所有证书放入“受信任的根证书颁发机构”商店。
    4. 您可能需要为每个证书进行确认-每个AWS区域都有一个证书

您现在应该可以从PowerBI或Excel连接到AWS RDS Postgres数据库。

相关问题