在java中同时读取单个Excel文件

我们在试图从两个不同的Jenkins作业运行我们的框架时得到了这个要求

以下是我们的代码:

String xlsPath= System.getProperty("user.dir")+"\\TestInputs\\Config.xls"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=" +xlsPath+ ";DriverID=22;READONLY=TRUE","",""); String sql="Select * from [Setup$]"; Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); while(rs.next()) { System.out.println(rs.getString(1).toString()); System.out.println(rs.getString(2).toString()); System.out.println(rs.getString(3).toString()); Thread.sleep(1000); } rs.close(); st.close(); conn.close(); 

当我们试图通过multithreading的概念来执行上面的代码工作绝对正常。

但是,如果我创build了两个JENKINS JOBS并且并行运行它,我正在收到以下错误信息。

线程“main”中的exceptionjava.sql.SQLException:[Microsoft] [ODBC Excel Driver] Microsoft Jet数据库引擎无法打开文件'(unknown)'。 它已经由另一个用户专门打开,或者您需要查看其数据的权限。

我们有任何解决方法吗? 这样我可以执行两个工作没有任何问题。

注:我不能使用HSSF或其他方式来阅读我的Excel文件。 我应该严格使用像上面的代码中使用的数据库命令。

请帮忙 !