首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用matlab连接远程postgreSQL数据库

用matlab连接远程postgreSQL数据库
EN

Stack Overflow用户
提问于 2014-08-30 16:23:33
回答 1查看 730关注 0票数 3

我的问题是,当我用matlab连接到一个远程的psql数据库时,我有以下错误:

代码语言:javascript
复制
FATAL: password authentication failed for user "[username]"

但是密码是正确的。我已经和数据库管理员确认过了。

我可以通过PSQL Shell连接到数据库,它可以工作。它只是用matlab实现的。我必须使用SSL进行连接,所以我使用以下代码行:

代码语言:javascript
复制
conn = database('dbname','username','password','org.postgresql.Driver',
    'jdbc:postgresql:dm-userdb.geomar.de:users:ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory&');

遵循matlab文档。

数据库经理认为这一定是我在matlab中使用的语法有问题,因为连接与shell一起工作,但他不流利的matlab,所以他不能帮助我。

此外,当我在我的计算机上创建一个本地数据库时,我可以用matlab连接到它。它只是使用matlab在SSL模式下连接到远程数据库(在SSL Off模式下它也不工作)。

使用R或python连接到此数据库正常工作。对于R,代码是:

代码语言:javascript
复制
install.packages("rpostgres")
library(RPostgreSQL)
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, host = "dm-userdb.geomar.de", dbname="users", tty = "NULL", user="****", password = "******", port = "5432")

但是由于我们将有这个数据库的用户使用不同的软件,我们必须使它也与Matlab一起工作,我不知道我的脚本有什么问题。

我有一个mac图书空气与maverick和matlab R2013a。

如果有人知道出了什么问题,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2014-09-18 18:02:34

我最终找到了一个不使用数据库工具箱的解决方案:

代码语言:javascript
复制
% Add jar file to classpath (ensure it is present in your current dir)
%javaclasspath('postgresql-9.0-801.jdbc4.jar');

% Username and password you chose when installing postgres
props=java.util.Properties;
props.setProperty('user', 'username');
props.setProperty('password', 'password');
props.setProperty('ssl','true');

% Create the database connection
driver=org.postgresql.Driver;
url = 'jdbc:postgresql://databaseURL/dbname';
conn=driver.connect(url, props);

但是我不能使用数据库工具箱的其他函数...

我已经用matlab的数据库功能尝试了无数种可能性,但都没有成功!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25580475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档