From 625c4f2816d171bbe8cf264e23d3bec0c11e3b86 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 03 四月 2026 17:25:13 +0800
Subject: [PATCH] 采集器调整:mdb数据库处理,排除特殊字段类型
---
src/main/java/com/chinaztt/mes/docx/util/TakeWords.java | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java b/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
index e563da7..4987848 100644
--- a/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
+++ b/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
@@ -7,6 +7,7 @@
import com.opencsv.CSVReader;
import com.opencsv.CSVReaderBuilder;
import com.opencsv.exceptions.CsvValidationException;
+import lombok.extern.slf4j.Slf4j;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import org.apache.commons.lang3.ObjectUtils;
@@ -27,6 +28,7 @@
import java.util.*;
import java.util.regex.Pattern;
+@Slf4j
public class TakeWords {
private static final String splitIdentifier = "@-@"; // 鑷畾涔夊敮涓�鏍囪瘑绗�
@@ -35,6 +37,11 @@
private static final Pattern SCIENTIFIC_PATTERN = Pattern.compile(
"^[+-]?\\d+(\\.\\d+)?[eE][+-]?\\d+$"
);
+
+ /**
+ * 澶勭悊mdb鏁版嵁搴撴帓闄ゅ瓧娈电被鍨�
+ */
+ private final static List<String> MDB_EXCLUDE_TYPES = Arrays.asList("java.sql.Blob");
public static Object readWordFile(File file) {
String result = "";
@@ -243,11 +250,17 @@
rs = preparedStatement.executeQuery();
ResultSetMetaData data = rs.getMetaData();
while (rs.next()) {
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
for (int i = 1; i <= data.getColumnCount(); i++) {
//鍒楀悕
String columnName = data.getColumnName(i);
- map.put(columnName, rs.getString(i));
+ //鍒楀瓧娈电被鍨�
+ String columnClassName = data.getColumnClassName(i);
+ Object columnValue = null;
+ if(!MDB_EXCLUDE_TYPES.contains(columnClassName)){
+ columnValue = rs.getObject(i);
+ }
+ map.put(columnName, columnValue);
}
list.add(map);
}
--
Gitblit v1.9.3