如何在mysql-connector-java上允许LOAD DATA LOCAL INFILE?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在mysql-connector-java上允许LOAD DATA LOCAL INFILE?相关的知识,希望对你有一定的参考价值。
在过去,我经常使用mysql-connector-java
的v5。在LOAD DATA LOCAL INFILE
期间,我通常设置连接以允许从内存中加载数据,如下所示:
com.mysql.jdbc.Connection con;
con.setAllowLoadLocalInfile(true);
然后,它将文件直接设置为数据库语句的输入流:
((com.mysql.jdbc.Statement) ps).setLocalInfileInputStream(new ByteArrayInputStream(...))
现在我正在迁移到连接器的8.0.13
版本,该方法不再存在。而且,现在必须使用java.sql.Connection
。
我现在如何设置属性以允许显式连接上的加载数据?
特别是因为java.sql.Statement
没有.setLocalInfileInputStream()
方法?
开发人员指南甚至提到了这种方法,但没有说明如何访问它:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-implementation-notes.html
最后我切换到qazxsw poi连接器,这是qazxsw poi的替代品,但仍然有localinfile方法。
如果有人来看这个需要移动的课程。它至少在8.0.15现在在mariadb
首选方法是在连接字符串中设置连接属性mysql
,然后从转换为接口com.mysql.cj.jdbc.StatementImpl
的Statement对象调用方法allowLoadLocalInfile=true
。
以上是关于如何在mysql-connector-java上允许LOAD DATA LOCAL INFILE?的主要内容,如果未能解决你的问题,请参考以下文章
myeclipse中如何导入mysql-connector-java-5.1.8-bin.jar环境配置和工具使用
我使用哪个 MySQL 连接器:mysql-connector-java-5.1.46.jar 或 mysql-connector-java-5.1.46-bin.jar 有啥区别?