java - for - No se puede conectar con Oracle a través de Pentaho. ''oracle.jdbc.driver.OracleDriver'' no se pudo encontrar
oracle sql jdbc (7)
Hola, acabo de instalar Pentaho Data Integration v. 5.01 y estoy intentando conectarme a una base de datos. Sin embargo, no puedo probar la conexión ya que recibo el error (pegado a continuación).
También tengo JDK 1.7 instalado en el sistema, sin embargo, parece que no puedo encontrar ojdbc14.jar en ninguna parte.
Lo descargué y lo pegué en la carpeta / lib de pentaho, pero sigo teniendo el mismo error.
Alguna solución a este problema?
Error connecting to database [test] : org.pentaho.di.core.exception.KettleDatabaseException:
Error occured while trying to connect to the database
Driver class ''oracle.jdbc.driver.OracleDriver'' could not be found, make sure the ''Oracle'' driver (jar file) is installed.
oracle.jdbc.driver.OracleDriver
org.pentaho.di.core.exception.KettleDatabaseException:
Error occured while trying to connect to the database
Driver class ''oracle.jdbc.driver.OracleDriver'' could not be found, make sure the ''Oracle'' driver (jar file) is installed.
oracle.jdbc.driver.OracleDriver
at org.pentaho.di.core.database.Database.normalConnect(Database.java:415)
at org.pentaho.di.core.database.Database.connect(Database.java:353)
at org.pentaho.di.core.database.Database.connect(Database.java:306)
at org.pentaho.di.core.database.Database.connect(Database.java:294)
at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:84)
at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2459)
at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:541)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:329)
at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:139)
at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:123)
at org.pentaho.ui.xul.swt.tags.SwtButton.access$500(SwtButton.java:26)
at org.pentaho.ui.xul.swt.tags.SwtButton$4.widgetSelected(SwtButton.java:121)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.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.ui.xul.swt.tags.SwtDialog.show(SwtDialog.java:375)
at org.pentaho.ui.xul.swt.tags.SwtDialog.show(SwtDialog.java:301)
at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:115)
at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:62)
at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:493)
at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:478)
at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:2885)
at org.pentaho.di.ui.spoon.Spoon.access$2300(Spoon.java:332)
at org.pentaho.di.ui.spoon.Spoon$27.widgetDefaultSelected(Spoon.java:5657)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.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:1227)
at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7368)
at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:8673)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:625)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.pentaho.commons.launcher.Launcher.main(Launcher.java:134)
Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
Driver class ''oracle.jdbc.driver.OracleDriver'' could not be found, make sure the ''Oracle'' driver (jar file) is installed.
oracle.jdbc.driver.OracleDriver
at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:474)
at org.pentaho.di.core.database.Database.normalConnect(Database.java:399)
... 45 more
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:467)
... 46 more
intente poner el controlador ojdbc en libext / JDBC en su ruta PDI (ubicación)
Intente ubicar el archivo jar odbc (por ejemplo: ojdbc5-11.1.0.7.0.jar ) dentro del directorio "data-integration / lib " de su instalación.
Mira, chicos, no necesitamos todas estas cosas. Necesitamos pegar el controlador jdbc de oracle (ojdbc6.jar) en la siguiente ubicación.
- C: / Archivos de programa / pentaho / design-tools / report-designer / lib / jdbc
- C: / Archivos de programa / pentaho / design-tools / data-integration / lib
- C: / Archivos de programa / pentaho / design-tools / aggregation-designer / lib
- C: / Archivos de programa / pentaho / design-tools / schema-workbench / lib
Aquí está mi configuración. Tuve este problema y logré solucionarlo de la siguiente manera.
Tengo SQLDeveloper ejecutándose en mi máquina y funciona bien, incluso bajo VPN. Sin embargo, estaba ejecutando Spoon y noté que no funcionaría si utilizo VPN.
He tratado de enviar los controladores Oracle JDBC enviados con SQLDeveloper a Pentaho. Eso no funcionó.
Sin embargo, noté que una gran diferencia entre SQLDeveloper y Spoon es que usan diferentes tiempos de ejecución Java y controladores JDBC Oracle. En particular, mi versión de SQLDeveloper se ejecuta en la versión de JRE de 32 bits 1.6.0_11, mientras que mi JDK de todo el sistema es de la versión 1.7.0_03 de 64 bits.
Encontré los controladores JDBC que utiliza SQLDeveloper y los usé como reemplazo del controlador que se envía con Spoon, sin cambios .
Luego redirigí Spoon para utilizar el tiempo de ejecución de Java utilizado por SQLDeveloper.
Establecí dos variables de entorno: PENTAHO_JAVA y PENTAHO_JAVA_HOME, ¡y funciona bien ahora!
Como referencia, aquí están mis envvars:
PENTAHO_JAVA=C:/opt/sqldeveloper/jdk/jre/bin/java.exe
PENTAHO_JAVA_HOME=c:/opt/sqldeveloper/jdk/jre/
Si eso es relevante, estoy en Windows 7 x64.
Primero vaya al sitio de Oracle: http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
Descarga 1 archivo: ojdbc6.jar (2,739,670 bytes) - (suma de comprobación SHA1: a483a046eee2f404d864a6ff5b09dc0e1be3fe6c) Clases para usar con JDK 1.6. Contiene las clases de controlador JDBC, excepto las clases para soporte NLS en Oracle Object y Collection types.
Cópielo en la carpeta Pentaho: C: / Archivos de programa / Pentaho / data-integration / lib
Eso funciona en mi Windows 7 X64 Pro con el último Pentaho 5.3 estable.
En la versión 6.0 de Pentaho, coloque el controlador (ojdbc6.jar) en: "PentahoInstallation" / design-tools / data-integration / lib y reinicie el ide de integración de datos.
Intenta poner el jar en la carpeta de la biblioteca tomcat, luego reinicia Pentaho.
Debería estar aquí .../biserver-ce-6.0.0.0-353/biserver-ce/tomcat/lib
Ya hay algunos controladores aquí.