Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从sql server获取使用jdbc成功大容量插入的行数_Java_Sql_Sql Server_Jdbc - Fatal编程技术网

Java 从sql server获取使用jdbc成功大容量插入的行数

Java 从sql server获取使用jdbc成功大容量插入的行数,java,sql,sql-server,jdbc,Java,Sql,Sql Server,Jdbc,我有Java代码将标签文件批量插入SQL Server。 我想知道插入了多少条记录。我尝试使用@@rowcount,但得到一个错误,即“语句未返回结果集”。 如果我在ManagementStudio中运行大容量insert语句,我可以获得计数 Statement stmt = sqlConnection.createStatement(); ResultSet rs = stmt.executeQuery ("BULK INSERT schema1.table1 FROM 'd

我有Java代码将标签文件批量插入SQL Server。 我想知道插入了多少条记录。我尝试使用@@rowcount,但得到一个错误,即“语句未返回结果集”。 如果我在ManagementStudio中运行大容量insert语句,我可以获得计数

Statement stmt = sqlConnection.createStatement();         
ResultSet rs = stmt.executeQuery ("BULK INSERT schema1.table1 FROM 'd:\temp1\file1.tab' SELECT @@rowcount");

有没有办法得到插入的计数

我不熟悉SQL Server,但您似乎想发布executeUpdate而不是executeQuery

Statement stmt = sqlConnection.createStatement();         
int insertedRowCount = stmt.executeUpdate("BULK INSERT schema1.table1 FROM 'd:\temp1\file1.tab'");

也许像下面这样?当您使用execute(查询)语句而不是executequery(查询)时会发生什么情况?这可能会有所帮助@ErayBalkanli execute返回false,因此无法获取计数。这些例子都是select语句,效果很好。我的是“批量插入”,它给出了错误。这给了我行数。但是在我的BULKINSERT语句中,我的batch size=1000,所以它总是返回1000,但我的文件有5000个条目。