SQLServerBulkCSVFileRecord ArrayIndexOutOfBoundsException:17

时间:2019-04-30 12:34:25

标签: java sql-server jdbc sqlbulkcopy mssql-jdbc

我在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

使用bulk copy command line utility导入的同一文件可以正常工作。 在搜索问题时,我发现有些人无法导入到具有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>

所以我想它应该能正常工作。 可能是什么问题?

0 个答案:

没有答案