我已经使用Hobby-basic层在我的应用程序上设置了一个Heroku Postgres数据库,并成功地将一些行插入到我的表中,我可以通过CLI进行验证。
现在,我想使用Excel浏览这些表的内容。
From the documentation I can find看来我应该可以...
- 安装Ngpsql data provider for ProgreSQL(版本4.0.10 -更高版本显然与Excel不兼容)
- 选择数据〉获取数据〉从数据库〉从PostgreSQL数据库
- 提供主机名和数据库名称given on the Credentials tab of data.heroku.com
- 单击“确定”,然后在同一凭据页中输入我的用户名和密码
不幸的是,我还没有成功地完成这一点。
- 如果输入的服务器与凭据页上列出的完全相同,
例如ec2-xx-xxx-xx-xx.xxx.amazon.com
我得到:
无法联机
尝试连接时遇到错误。
详细信息:“从提供程序阅读数据时出错:'根据验证程序,远端凭证无效。”
- 如果我在主机名前面加上
postgres://
,我可以打开一个对话框输入我的用户名和密码凭据,然后我再次从Heroku页面粘贴这些凭据。
详细信息:“从提供程序阅读数据时出错:'不知道这样的主机'“
我还尝试在末尾附加:PORT
,其中PORT代表Heroku Postgres凭据选项卡上提供的端口号,结果相同。我还尝试从凭据选项卡粘贴整个URI,但Excel抱怨主机名必须最多为128个字符。
我确信我一定是在做一些愚蠢的事情,比如以错误的格式或错误的协议提供主机名,但我还没有找到正确使用的字符串的文档,错误消息也没有产生有力的线索。
Browsing past Q&A, I found this,我认为如果PowerBI和Excel使用类似的实现,这可能是适用的,但Excel似乎不接受the connection string described in the link。(它显示“提供的服务器或数据库名称无效”。)
您是否可以推荐查看数据的方法,或其他应尝试的故障排除步骤?
1条答案
按热度按时间y4ekin9u1#
啊哈,我想我现在明白了。我错误地使用了32位版本的Excel,所以the reddit thread linked above中的指令不能与我的64位驱动程序一起工作。修复我的Excel版本后,它们就像一个护身符一样工作了。
所以我是这么做的:
Driver={PostgreSQL Unicode};Server=ec2-xx-xxx-xx-xx.xxx.amazon.com
(使用Heroku Postgres凭据选项卡中的主机)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
(将凭据选项卡中的相关信息替换为
HEROKU_PORT
、HEROKU_DATABASE
、HEROKU_HOST
、HEROKU_USER
和HEROKU_PASSWORD
)...我能够成功导入数据。