如何在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-connector-java驱动版本问题

准备mysql-connector-java

使用mysql-connector-java出现的错误

你知道mysql-connector-java是什么吗

我使用哪个 MySQL 连接器:mysql-connector-java-5.1.46.jar 或 mysql-connector-java-5.1.46-bin.jar 有啥区别?