2011-02-17 43 views
0

我正在为自动化使用RFT(Rational Functional Tester)8.2。我在执行以下步骤时出现错误在RFT中执行Java代码时出错

  1. 我使用Microsoft Excel ODBC驱动程序连接到来自Java程序的Excel表单。
  2. 我无法连接到excel驱动程序。我收到以下错误消息。

这是我的代码

Connection c1 =null; 
c1 = java.sql.DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ="+SummaryExcelfile+";READONLY=FALSE"); 

这是我的例外

值java.sql.SQLException: [微软] [ODBC Excel驱动程序]系统 资源超标。在 sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957) 在 sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) 在 sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect( JdbcOdbc.java:3073) 在 sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323) 在 sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174) 在 的java.sql .DriverManager.getConnection(DriverManager.java:322) at java.sql.DriverManager.getConnection(DriverManager.java:273) at SupportLibraries.CRAFT_ExcelResults.createSummaryHead ER(CRAFT_ExcelResults.java:230) 在 SupportLibraries.CRAFT_Report.createSummaryHeader(CRAFT_Report.java:63) 在 Allocator.testMain(Allocator.java:89) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本地 方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java :600) at com.rational.test.ft.sys.FtReflection.invokeMethod2Ext(FtReflection.java:1253) 在 com.rational.test.ft.sys.FtReflection.invokeMethodExt(FtReflection.java:1453) 在 com.rational.test.ft.sys.FtReflection.invokeMethodExt(FtReflection.java:1806) 在 融为一体。 rational.test.ft.script.RationalTestScript.runMainInner(RationalTestScript.java:999) 在 com.rational.test.ft.script.RationalTestScript.runMain(RationalTestScript.java:924) 在 sun.reflect.NativeMethodAccessorImpl。 invoke0(母语 方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:600) 在 com.rational.test.ft.sys.FtReflection.invokeMethod2Ext(FtReflection.java:1253) 在 com.rational.test .ft.sys.FtReflection.invokeMethodExt(FtReflection。的java:1453) 在 com.rational.test.ft.sys.FtReflection.invokeMethodExt(FtReflection.java:1806) 在 com.rational.test.ft.application.ScriptPlayback.runScript(ScriptPlayback.java:734) 在 com.rational.test.ft.application.ScriptPlayback.run(ScriptPlayback.java:671) 在 com.rational.test.ft.application.RationalFtMain.run(RationalFtMain.java:2356) 在 COM .rational.test.ft.application.RationalFtMain.main(RationalFtMain.java:344) 在 com.rational.test.ft.application.CommandLineApplication.run(CommandLineApplication.java:40) 在 sun.reflect.NativeMethodAcc essorImpl.invoke0(母语 方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect中。 Method.invoke(Method.java:600) 在 org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.run( EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) 在 有机.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 处 sun.reflect.NativeMethodAccessorImpl.invoke sun.reflect.NativeMethodAccessorImpl.invoke0(母语 方法)(NativeMethodAccessorImpl.java:48) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:600) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) 在 org.eclipse.equinox.launcher .main.run(Main.java:1407) at org.eclipse.equinox.launcher.main.main(Main.java:1383) at org.eclipse.core.launcher.Main.main(Main.java :34) 处 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke sun.reflect.NativeMethodAccessorImpl.invoke0(母语 方法)(DelegatingMethodAccessorImpl.java:25 ) 在 java.lang.reflect.Method.invoke(Method.java:600) 在 com.rational.test.ft.rational_ft.startFT(rational_ft.java:316) 在 com.rational.test.ft .rational_ft.main(rational_ft.java:187)

回答

0

在Java中使用Excel的更简单方法是使用Apache POI或JExcel。只要该路径变量是正确的,你的代码对我来说就很好。您可能需要检查数据源并确保您有ODBC .xls驱动程序。