SQLServerBulkCSVFileRecord ArrayIndexOutOfBoundsException: 17 - PullRequest
0 голосов
/ 30 апреля 2019

У меня странная проблема с SQLServerBulkCopy . У меня есть csv файл, который мне нужен для массовой вставки в таблицу, используя SQLServerBulkCSVFileRecord . При выполнении я получил эту ошибку:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Source data does not match source schema.
    at com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.getRowData(SQLServerBulkCSVFileRecord.java:467)
    at com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBatchData(SQLServerBulkCopy.java:3469)
    ... 10 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 17
    at com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.getRowData(SQLServerBulkCSVFileRecord.java:296)
    ... 11 more

Тот же файл, импортированный с помощью утилиты командной строки массового копирования , работает без проблем. В процессе поиска я обнаружил, что у некоторых людей возникли проблемы с импортом в таблицу с более чем 16 столбцами (в моей таблице 45 столбцов), и проблема заключалась в проблеме версий между mssql jdbc и jdk.

Я использую Java 8 версии "1.8.0_162" и

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>7.2.1.jre8</version>
</dependency>

так что я думаю, это должно работать правильно. В чем может быть проблема?

...