У меня странная проблема с 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>
так что я думаю, это должно работать правильно.
В чем может быть проблема?