我正在尝试将Matlab 2017b连接到MySQL。这里有一个线程描述该做什么。
https://se.mathworks.com/help/database/ug/mysql-jdbc-windows.html
我遵循这些说明中的步骤1和步骤2。仍然我的代码不起作用。
我确实在prefdir(C:\ Users \ Konto1 \ AppData \ Roaming \ MathWorks \ MATLAB \ R2017b)中创建了javaclasspath.txt
在javaclasspath.txt中,我写了一行
C:\ Program Files \ MATLAB \ R2017b \ java \ jarext \ mysql-connector-java-5.1.45-bin.jar
我使用此代码来测试连接。
url2 = 'jdbc:mysql://localhost:3306/bloomberg';
conn2 = database('bloomberg', 'root', 'HedgeFund1985','com.mysql.jdbc.Driver', url2)
i = isopen(conn2)
I=conn2.message
curs7 = exec(conn2,['' ...
'SELECT * FROM BOND_EQUITY_DATA where DUR_MID < 1']);
d1=get(curs7,'Message')
curs7=fetch(curs7)
% columnnames(curs7)
% attr(curs7)
BB_ID_a=cellstr(curs7.Data(:,1))
这是代码的输出:
testing_connection 2019年1月15日星期二18:34:10警告:不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45 +,5.6.26 +和5.7.6+的要求,如果未设置显式选项,则默认情况下必须建立SSL连接。为了与不使用SSL的现有应用程序兼容,将verifyServerCertificate属性设置为'false'。您需要通过设置useSSL = false来显式禁用SSL,或者设置useSSL = true并为服务器证书验证提供信任库。
conn2 =
与属性的连接:
DataSource: ''
UserName: ''
Driver: ''
URL: ''
Message: 'Unable to load authentica ...'
Type: 'JDBC Connection Object'
数据库属性:
AutoCommit: ''
ReadOnly: ''
LoginTimeout: 0
MaxDatabaseConnections: -1
目录和架构信息:
DefaultCatalog: ''
Catalogs: {}
Schemas: {}
数据库和驱动程序信息:
DatabaseProductName: ''
DatabaseProductVersion: ''
DriverName: ''
DriverVersion: ''
i =
0
我=
'Unable to load authentication plugin 'caching_sha2_password'.'
使用get时出错 无法从struct转换为double。
testing_connection中的错误(第18行) d1 = get(curs7,'Message')