首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在osX上建立从Matlab到MySQL的JDBC连接

在osX上建立从Matlab到MySQL的JDBC连接
EN

Stack Overflow用户
提问于 2017-02-10 04:02:29
回答 2查看 578关注 0票数 1

我已经设置了MATLAB (2016b64位)来与本地MySQL服务器交互。我按照说明操作,在Matlab的prefdir位置创建了一个javaclasspath.txt文件,其中保存了mysql-connector-java-5.1.40-bin.jar位置。然后,我使用原生的Matlab Database Explorer App建立了一个连接,在执行完以下步骤后,Matlab在当前文件夹中创建了一个.mat文件(见图):

正如您在上面看到的,.mat文件包含一个单元格数组,其中列出了输入。我的问题如下,现在我已经成功地设置了服务器,我想要创建一个"conn = database()“变量。我该怎么做呢?我已经阅读了Stackoverflow上的Matlab guide和此guide,但是当我使用execute时,我得到了一个错误"Invalid connection“

代码语言:javascript
复制
conn = database('Data_Science', 'root', '*****', 'com.mysql.jdbc.Driver', 'jdbc:mysql://localhost:3306/Data_Science?useSSL=false');


e = exec(conn,['create table BULKTEST (salary decimal, '...
   'player varchar(25), signed_date varchar(25), '...
   'team varchar(25))']);

上面的代码有什么问题吗?我写错信息了吗?第二部分(e)是来自Matlab网站的c/p。所以我怀疑的是康恩。

更新:当我尝试使用isoprene(conn)命令时,返回一个'0‘。我仍然不明白为什么我可以通过Database Explorer正确连接,但不能通过conn命令连接。

更新:显示数据库和Matlab数据库资源管理器应用程序的更多照片

EN

回答 2

Stack Overflow用户

发布于 2017-02-10 22:47:49

好吧,问题出在我的代码上,特别是'conn‘命令。

当我使用这段代码时,不包括?useSSL=false:

代码语言:javascript
复制
conn = database('Data_Science', 'root', '*****', 'com.mysql.jdbc.Driver', 'jdbc:mysql://localhost:3306/Data_Science');

我收到了这样的警告:

代码语言:javascript
复制
Fri Feb 10 13:48:03 GMT 2017 WARN: Establishing SSL connection without
server's identity verification is not recommended. According to MySQL
5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established 
by default if explicit option isn't set. For compliance with existing
applications not using SSL the verifyServerCertificate property is set to
'false'. You need either to explicitly disable SSL by setting useSSL=false,
or set useSSL=true and provide truststore for server certificate verification.

所以我在网上看了看,解决方案是在conn的末尾加入?useSSL=false。事实上,这是可行的,因为我不再收到任何进一步的警告,但当我检查conn on workspace时,有一行包含以下消息:

代码语言:javascript
复制
The connection property 'useSSL' only accepts values of the form: 'true',
 'false', 'yes' or 'no'. The value 'falseData_Science' is not in this set.

这是我以前从未注意到的,事实上这就是导致连接错误的原因。因此,我只是回到了原来的conn,修改了我所做的?useSSL=false更改。现在,我仍然收到警告,但它是有效的。

票数 0
EN

Stack Overflow用户

发布于 2019-06-05 08:39:30

尝试在末尾使用&:conn =database(‘数据科学’,‘根’,‘*’,'com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/Data_Science?useSSL=false&')

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

https://stackoverflow.com/questions/42145822

复制
相关文章

相似问题

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