2011-02-17 42 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驅動程序。