Не удается подключиться к oracle через Pentaho. - оракул.интерфейс jdbc.водитель.OracleDriver " не удалось найти

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

У меня также установлен JDK 1.7 в системе, однако я не могу найти ojdbc14.банку куда угодно.

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

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

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.access0(SwtButton.java:26)
    at org.pentaho.ui.xul.swt.tags.SwtButton.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.access00(Spoon.java:332)
    at org.pentaho.di.ui.spoon.Spoon.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.run(Unknown Source)
    at java.net.URLClassLoader.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

8 ответов


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

У меня есть SQLDeveloper, работающий на моей машине, и он работает нормально, даже под VPN. Тем не менее, я запускал ложку и заметил, что это не сработает, если я использую 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.


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


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

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

  3. скопируйте его в папку Pentaho: C:\Program Файлы\Pentaho\интеграция данных\lib

это работает на моем Windows 7 X64 Pro с последней стабильностью Pentaho 5.3.


в Pentaho версии 6.0 поставьте драйвер (ojdbc6.jar) в: "PentahoInstallation" \design-tools\Data-integration\lib и перезапустите ide интеграции данных.


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

  1. C:\Program файлы\pentaho\design-tools\report-designer\lib\jdbc
  2. C:\Program файлы\pentaho\дизайн-инструменты\интеграция данных\lib
  3. C:\Program файлы\pentaho\дизайн-инструменты\агрегация-конструктор\lib
  4. C:\Program файлы\pentaho\design-tools\schema-workbench\lib

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


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

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

здесь уже есть некоторые драйверы.


Я мог бы решить эту проблему, выбрав Oralce Native connection > Hostname в качестве Ip-адреса сервера БД > вместо SN00XXXX я использовал имя DB00XXX для имени базы данных.

Я надеюсь, что это работает для таких проблем с ПО Oracle.