forked from github/dataease
fix: 创建MySQL数据源时出现 Public Key Retrieval is not allowed错误
This commit is contained in:
parent
acc28ccd39
commit
2dcae3d146
@ -1,6 +1,7 @@
|
|||||||
package io.dataease.commons.utils;
|
package io.dataease.commons.utils;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import io.dataease.datasource.dto.TableFiled;
|
import io.dataease.datasource.dto.TableFiled;
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFCell;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
@ -56,8 +57,9 @@ public class ExcelReaderUtil {
|
|||||||
} else if (fileName.endsWith(EXCEL07_EXTENSION)) {//处理excel2007文件
|
} else if (fileName.endsWith(EXCEL07_EXTENSION)) {//处理excel2007文件
|
||||||
ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader();
|
ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader();
|
||||||
excelXlsxReader.process(inputStream);
|
excelXlsxReader.process(inputStream);
|
||||||
System.out.println(excelXlsxReader.totalSheets.size());
|
|
||||||
System.out.println(excelXlsxReader.totalSheets.get(0).getExcelLable());
|
System.out.println(excelXlsxReader.totalSheets.get(0).getFields().size());
|
||||||
|
|
||||||
for (TableFiled field : excelXlsxReader.totalSheets.get(0).getFields()) {
|
for (TableFiled field : excelXlsxReader.totalSheets.get(0).getFields()) {
|
||||||
System.out.println(new Gson().toJson(field));
|
System.out.println(new Gson().toJson(field));
|
||||||
}
|
}
|
||||||
@ -68,8 +70,10 @@ public class ExcelReaderUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
String file ="Metersphere_case_DataEase功能用例.xlsx";
|
|
||||||
|
|
||||||
|
String file ="各省市GDP-表格_加内容.xlsx";
|
||||||
ExcelReaderUtil.readExcel(file, new FileInputStream("/Users/taojinlong/Desktop/" + file));
|
ExcelReaderUtil.readExcel(file, new FileInputStream("/Users/taojinlong/Desktop/" + file));
|
||||||
} */
|
}
|
||||||
}
|
}
|
||||||
|
@ -234,7 +234,7 @@ public class ExcelXlsxReader extends DefaultHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//t元素也包含字符串
|
//t元素也包含字符串
|
||||||
if (isTElement) {//这个程序没经过
|
if (isTElement) { //这个程序没经过
|
||||||
//将单元格内容加入rowlist中,在这之前先去掉字符串前后的空白符
|
//将单元格内容加入rowlist中,在这之前先去掉字符串前后的空白符
|
||||||
String value = lastIndex.trim();
|
String value = lastIndex.trim();
|
||||||
if(curRow==1){
|
if(curRow==1){
|
||||||
@ -271,6 +271,9 @@ public class ExcelXlsxReader extends DefaultHandler {
|
|||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
if(curCol < this.fields.size()){
|
if(curCol < this.fields.size()){
|
||||||
cellList.add(curCol, "");
|
cellList.add(curCol, "");
|
||||||
|
if(curRow==1){
|
||||||
|
addField("", curCol);
|
||||||
|
}
|
||||||
curCol++;
|
curCol++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -413,12 +416,7 @@ public class ExcelXlsxReader extends DefaultHandler {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(curRow==1){
|
if(curRow==1){
|
||||||
TableFiled tableFiled = new TableFiled();
|
addField(thisStr, null);
|
||||||
tableFiled.setFieldType("TEXT");
|
|
||||||
tableFiled.setFieldSize(65533);
|
|
||||||
tableFiled.setFieldName(thisStr);
|
|
||||||
tableFiled.setRemarks(thisStr);
|
|
||||||
this.fields.add(tableFiled);
|
|
||||||
}else {
|
}else {
|
||||||
if(CollectionUtils.isEmpty(this.getFields())){
|
if(CollectionUtils.isEmpty(this.getFields())){
|
||||||
throw new RuntimeException(Translator.get("i18n_excel_header_empty"));
|
throw new RuntimeException(Translator.get("i18n_excel_header_empty"));
|
||||||
@ -443,6 +441,18 @@ public class ExcelXlsxReader extends DefaultHandler {
|
|||||||
return thisStr;
|
return thisStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addField(String columeName, Integer index){
|
||||||
|
TableFiled tableFiled = new TableFiled();
|
||||||
|
tableFiled.setFieldType("TEXT");
|
||||||
|
tableFiled.setFieldSize(65533);
|
||||||
|
tableFiled.setFieldName(columeName);
|
||||||
|
tableFiled.setRemarks(columeName);
|
||||||
|
if(index != null){
|
||||||
|
this.fields.add(index, tableFiled);
|
||||||
|
}else {
|
||||||
|
this.fields.add(tableFiled);
|
||||||
|
}
|
||||||
|
}
|
||||||
private String getType(String thisStr){
|
private String getType(String thisStr){
|
||||||
if(totalRows==0){
|
if(totalRows==0){
|
||||||
return "TEXT";
|
return "TEXT";
|
||||||
|
@ -11,7 +11,7 @@ public class MysqlConfigration extends JdbcDTO {
|
|||||||
|
|
||||||
public String getJdbc() {
|
public String getJdbc() {
|
||||||
// 连接参数先写死,后边要把编码、时区等参数放到数据源的设置中
|
// 连接参数先写死,后边要把编码、时区等参数放到数据源的设置中
|
||||||
return "jdbc:mysql://HOSTNAME:PORT/DATABASE?characterEncoding=UTF-8&connectTimeout=5000&useSSL=false"
|
return "jdbc:mysql://HOSTNAME:PORT/DATABASE?characterEncoding=UTF-8&connectTimeout=5000&useSSL=false&allowPublicKeyRetrieval=true"
|
||||||
.replace("HOSTNAME", getHost().trim())
|
.replace("HOSTNAME", getHost().trim())
|
||||||
.replace("PORT", getPort().toString().trim())
|
.replace("PORT", getPort().toString().trim())
|
||||||
.replace("DATABASE", getDataBase().trim());
|
.replace("DATABASE", getDataBase().trim());
|
||||||
|
Loading…
Reference in New Issue
Block a user