Невозможно подключиться к оракулу через Pentaho. 'oracle.jdbc.driver.OracleDriver' не найден.

Привет, я только что установил Pentaho Data Integration v. 5.01, и я пытаюсь подключиться к базе данных. Тем не менее, я не могу проверить соединение, поскольку получаю сообщение об ошибке (вставляемое ниже).

У меня есть JDK 1.7, установленный и в системе, но я не могу найти ojdbc14.jar где угодно.

Я загрузил это и вставил его в папку pentaho\lib, но я все равно получаю ту же ошибку.

Любые решения этой проблемы?

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

Ответ 1

Здесь моя настройка. У меня была эта проблема, и я смог ее исправить следующим образом.

У меня есть SQLDeveloper, работающий на моей машине, и он работает нормально, даже в VPN. Тем не менее, я запускал Spoon и заметил, что это не сработает, если я использую VPN.

Я попытался поставить драйверы Oracle JDBC, поставляемые с SQLDeveloper, в Pentaho. Это не сработало.

Однако я заметил, что одна большая разница между SQLDeveloper и Spoon заключается в том, что они используют разные Java-интерфейсы и драйверы JDBC Oracle! В частности, моя версия SQLDeveloper работает на 32-разрядной версии JRE версии 1.6.0_11, тогда как мой системный JDK - это 64-разрядная версия 1.7.0_03.

Я нашел драйверы JDBC, которые использует SQLDeveloper, и использовал их в качестве замены для драйвера, который поставляется с Spoon - без изменений.

Затем я перенацелил Spoon, чтобы использовать среду выполнения Java, используемую SQLDeveloper.

Я установил две переменные среды: PENTAHO_JAVA и PENTAHO_JAVA_HOME - и теперь он работает нормально!

Для справки, вот мои envvars:

PENTAHO_JAVA=C:\opt\sqldeveloper\jdk\jre\bin\java.exe
PENTAHO_JAVA_HOME=c:\opt\sqldeveloper\jdk\jre\

Если это актуально, я нахожусь в Windows 7 x64.

Ответ 2

Попробуйте разместить файл jar odbc (например: ojdbc5-11.1.0.7.0.jar) внутри каталога "data-integration/ lib" вашей установки.

Ответ 3

  • Сначала перейдите на сайт Oracle: http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

  • Загрузить 1 файл: ojdbc6.jar(2,739,670 байт) - (контрольная сумма SHA1: a483a046eee2f404d864a6ff5b09dc0e1be3fe6c) Классы для использования с JDK 1.6. Он содержит классы драйверов JDBC, за исключением классов поддержки NLS в типах объектов Oracle и коллекции.

  • Скопируйте его в папку Pentaho: C:\Program Files\Pentaho\data-integration\lib

Это работает на моем Windows 7 X64 Pro с последним Pentaho 5.3 Stable.

Ответ 4

Смотрите, ребята, нам не нужны все эти вещи. Нам нужно вставить драйвер oracle jdbc (ojdbc6.jar) в следующем месте.

  • C:\Program Files\pentaho\design-tools\report-designer\lib\jdbc
  • C:\Program Files\pentaho\design-tools\data-integration\lib
  • C:\Program Files\pentaho\design-tools\aggregation-designer\lib
  • C:\Program Files\pentaho\design-tools\schema-workbench\lib

Ответ 5

В Pentaho версии 6.0 поместите драйвер (ojdbc6.jar) в: "PentahoInstallation" \design-tools\data-integration\lib и перезапустите ide Data Integration.

Ответ 6

попробуйте поместить драйвер ojdbc в libext/JDBC в ваш путь PDI (местоположение)

Ответ 7

Попробуйте положить банку в папку библиотеки tomcat, а затем перезапустите Pentaho.

Должно быть здесь .../biserver-ce-6.0.0.0-353/biserver-ce/tomcat/lib

Здесь уже есть несколько драйверов.