将Oracle的jar包拷到了kettle的lib下后报错如下,没头绪查找问题所在。后来将jar包又放到了C:\Program Files (x86)\Java\jdk1.8.0_131\jre\lib\ext目录下。成功连接oracle数据库。解决了困扰一周的问题。
 
后经过验证,jar包只需要放在JDK上述目录下就好,kettle的lib下在我这没用。
此外,我将kettle的安装目录F:\kettle\kettle\pdi-ce-8.1.0.0-365\data-integration设置为KETTLE_HOME系统环境变量,kettle竟然汉化了。不过这个并不影响连接问题。
 
 
错误连接数据库 [2] : org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO 错误: Undefined Error

org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO 错误: Undefined Error

 at org.pentaho.di.core.database.Database.normalConnect(Database.java:472)
 at org.pentaho.di.core.database.Database.connect(Database.java:370)
 at org.pentaho.di.core.database.Database.connect(Database.java:341)
 at org.pentaho.di.core.database.Database.connect(Database.java:331)
 at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:80)
 at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2786)
 at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:619)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313)
 at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157)
 at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141)
 at org.pentaho.ui.xul.swt.tags.SwtButton.access$500(SwtButton.java:43)
 at org.pentaho.ui.xul.swt.tags.SwtButton$4.widgetSelected(SwtButton.java:137)
 at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
 at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
 at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
 at org.eclipse.jface.window.Window.open(Window.java:796)
 at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:80)
 at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:47)
 at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:118)
 at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:60)
 at org.pentaho.di.ui.trans.step.BaseStepDialog.showDbDialogUnlessCancelledOrValid(BaseStepDialog.java:778)
 at org.pentaho.di.ui.trans.step.BaseStepDialog$EditConnectionListener.widgetSelected(BaseStepDialog.java:1485)
 at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
 at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
 at org.pentaho.di.ui.trans.steps.tableinput.TableInputDialog.open(TableInputDialog.java:436)
 at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:120)
 at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8949)
 at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3291)
 at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:785)
 at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
 at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
 at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1375)
 at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8104)
 at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9466)
 at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:701)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO 错误: Undefined Error
 at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:583)
 at org.pentaho.di.core.database.Database.normalConnect(Database.java:456)
 ... 55 more
Caused by: java.sql.SQLRecoverableException: IO 错误: Undefined Error
 at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:774)
 at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)
 at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39)
 at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)
 at java.sql.DriverManager.getConnection(DriverManager.java:664)
 at java.sql.DriverManager.getConnection(DriverManager.java:208)
 at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:580)
 ... 56 more
Caused by: oracle.net.ns.NetException: Undefined Error
 at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:271)
 at oracle.net.ns.NSProtocol.connect(NSProtocol.java:317)
 at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1438)
 at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:518)
 ... 62 more