diff --git a/plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/sql/task/SQLScriptDataReceiver.java b/plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/sql/task/SQLScriptDataReceiver.java index 8ab0e1d389de..6e326addc2b0 100644 --- a/plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/sql/task/SQLScriptDataReceiver.java +++ b/plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/sql/task/SQLScriptDataReceiver.java @@ -16,17 +16,14 @@ */ package org.jkiss.dbeaver.tools.sql.task; +import org.jkiss.dbeaver.model.data.DBDDataReceiver; +import org.jkiss.dbeaver.model.exec.*; +import org.jkiss.utils.CommonUtils; + import java.io.IOException; import java.io.Writer; import java.util.List; -import org.jkiss.dbeaver.model.data.DBDDataReceiver; -import org.jkiss.dbeaver.model.exec.DBCAttributeMetaData; -import org.jkiss.dbeaver.model.exec.DBCException; -import org.jkiss.dbeaver.model.exec.DBCResultSet; -import org.jkiss.dbeaver.model.exec.DBCResultSetMetaData; -import org.jkiss.dbeaver.model.exec.DBCSession; - /** * SQLScriptDataReceiver */ @@ -40,17 +37,19 @@ public void fetchStart(DBCSession session, DBCResultSet resultSet, long offset, if (resultSet == null) { return; } - DBCResultSetMetaData rsMeta = resultSet.getMeta(); - List attributes = rsMeta.getAttributes(); - rowSize = attributes.size(); - try { - dumpWriter.append("Columns:\t"); + if (dumpWriter != null) { + DBCResultSetMetaData rsMeta = resultSet.getMeta(); + List attributes = rsMeta.getAttributes(); + rowSize = attributes.size(); + try { + dumpWriter.append("Columns:\t"); - for (DBCAttributeMetaData attribute : attributes) { - dumpWriter.append(attribute.getLabel() + "\t"); + for (DBCAttributeMetaData attribute : attributes) { + dumpWriter.append(attribute.getLabel() + "\t"); + } + } catch (IOException e1) { + throw new DBCException("IOException writing to dumpWriter", e1); } - } catch (IOException e1) { - throw new DBCException("IOException writing to dumpWriter", e1); } } @@ -59,26 +58,30 @@ public void fetchRow(DBCSession session, DBCResultSet resultSet) throws DBCExcep if (resultSet == null) { return; } - try { - for (int i = 0; i < rowSize; i++) { - if (resultSet.getAttributeValue(i) != null) { - dumpWriter.append("" + resultSet.getAttributeValue(i).toString() + "\t"); - } else { - dumpWriter.append("NULL\t"); + if (dumpWriter != null) { + try { + for (int i = 0; i < rowSize; i++) { + if (resultSet.getAttributeValue(i) != null) { + dumpWriter.append(CommonUtils.toString(resultSet.getAttributeValue(i))).append("\t"); + } else { + dumpWriter.append("NULL\t"); + } } + dumpWriter.append("\n"); + } catch (IOException e) { + throw new DBCException("IOException writing to dumpWriter", e); } - dumpWriter.append("\n"); - } catch (IOException e) { - throw new DBCException("IOException writing to dumpWriter", e); } } @Override public void fetchEnd(DBCSession session, DBCResultSet resultSet) throws DBCException { - try { - dumpWriter.flush(); - } catch (IOException e) { - throw new DBCException("IOException writing to dumpWriter", e); + if (dumpWriter != null) { + try { + dumpWriter.flush(); + } catch (IOException e) { + throw new DBCException("IOException writing to dumpWriter", e); + } } }