Невозможно подключиться к оракулу через 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
Здесь уже есть несколько драйверов.