Java 从sql server获取使用jdbc成功大容量插入的行数
我有Java代码将标签文件批量插入SQL Server。 我想知道插入了多少条记录。我尝试使用@@rowcount,但得到一个错误,即“语句未返回结果集”。 如果我在ManagementStudio中运行大容量insert语句,我可以获得计数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
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个条目。