Skip to content

Commit

Permalink
Handle BulkCopy Exceptions
Browse files Browse the repository at this point in the history
  • Loading branch information
Suraiya Hameed committed May 10, 2017
1 parent 10f0104 commit 796f835
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java
Original file line number Diff line number Diff line change
@@ -1809,11 +1809,11 @@ private void getSourceMetadata() throws SQLServerException {
}
else if (null != sourceBulkRecord) {
Set<Integer> columnOrdinals = sourceBulkRecord.getColumnOrdinals();
srcColumnCount = columnOrdinals.size();
if (0 == srcColumnCount) {
if (null == columnOrdinals || 0 == columnOrdinals.size()) {
throw new SQLServerException(SQLServerException.getErrString("R_unableRetrieveColMeta"), null);
}
else {
srcColumnCount = columnOrdinals.size();
Iterator<Integer> columnsIterator = columnOrdinals.iterator();
while (columnsIterator.hasNext()) {
currentColumn = columnsIterator.next();
@@ -3257,7 +3257,15 @@ private boolean writeBatchData(TDSWriter tdsWriter,
// Copy from a file.
else {
// Get all the column values of the current row.
Object[] rowObjects = sourceBulkRecord.getRowData();
Object[] rowObjects;

try {
rowObjects = sourceBulkRecord.getRowData();
}
catch (Exception ex) {
// if no more data available to retrive
throw new SQLServerException(SQLServerException.getErrString("R_unableRetrieveSourceData"), ex);
}

for (int i = 0; i < mappingColumnCount; ++i) {
// If the SQLServerBulkCSVRecord does not have metadata for columns, it returns strings in the object array.

0 comments on commit 796f835

Please sign in to comment.