web-dev-qa-db-ja.com

Pentaho Data Integration SQL接続

Pentaho Data Integrationを使用しており、MySQL経由でデータベースに接続しようとしていますが、実行するとこのエラーが発生します.....

Error connecting to database [devdb2] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occured while trying to connect to the database

Exception while loading class
org.gjt.mm.mysql.Driver


org.pentaho.di.core.exception.KettleDatabaseException: 
Error occured while trying to connect to the database

Exception while loading class
org.gjt.mm.mysql.Driver


    at org.pentaho.di.core.database.Database.normalConnect(Database.Java:368)
    at org.pentaho.di.core.database.Database.connect(Database.Java:317)
    at org.pentaho.di.core.database.Database.connect(Database.Java:279)
    at org.pentaho.di.core.database.Database.connect(Database.Java:269)
    at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.Java:86)
    at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.Java:2464)
    at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.Java:533)
    at Sun.reflect.GeneratedMethodAccessor55.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:119)
    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:378)
    at org.pentaho.ui.xul.swt.tags.SwtDialog.show(SwtDialog.Java:304)
    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.newConnection(Spoon.Java:7770)
    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.SwtMenuitem.access$100(SwtMenuitem.Java:27)
    at org.pentaho.ui.xul.swt.tags.SwtMenuitem$1.widgetSelected(SwtMenuitem.Java:77)
    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:1183)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.Java:6966)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.Java:567)
    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: 
Exception while loading class
org.gjt.mm.mysql.Driver

    at org.pentaho.di.core.database.Database.connectUsingClass(Database.Java:423)
    at org.pentaho.di.core.database.Database.normalConnect(Database.Java:352)
    ... 50 more
Caused by: Java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
    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 Java.lang.Class.forName0(Native Method)
    at Java.lang.Class.forName(Unknown Source)
    at org.pentaho.di.core.database.Database.connectUsingClass(Database.Java:414)
    ... 51 more

接続タイプとしてSQLiteを使用した場合、それは機能しますが、探索するときにデータが返されません。だから私の質問は、どのようにMySQLを動作させるか、SQLiteを使用してデータを取得するのですか?

ライブラリまたはクラスがありませんか?

66
user979331

Mysql-connector-Java-5.1.2.jarというクラスが欠落することが判明したため、このフォルダー(C:\ Program Files\pentaho\design-tools\data-integration\lib)を追加し、MySQLで動作しました接続とデータとテーブルが表示されます。

10
user979331

PentahoからMySQLデータベースを照会しようとしたときに、同じ問題に出くわしました。

データベースへの接続エラー[ローカルMySQL DB]:org.pentaho.di.core.exception.KettleDatabaseException:データベースへの接続試行中にエラーが発生しました

クラスorg.gjt.mm.mysql.Driverのロード中の例外

@ user979331による投稿を展開すると、ソリューションは次のとおりです。

  1. ダウンロード最新のMySQL Java Connector/Driver
  2. UnzipZipファイル(私の場合はmysql -connector-Java-5.1.31.Zip
  3. copy。jarファイル(mysql-connector-Java -5.1.31-bin.jar)およびpasteLibフォルダー:

    PC:C:\ Program Files\pentaho\design-tools\data-integration\lib

    Mac:/ Applications/data-integration/lib

Pentaho(データ統合)を再起動し、MySQL接続を再テストします。

127
nelsonic

ドライバーファイルがありません。

このエラーは、PDIを使い始めたばかりの人には本当によく見られます。

ドライバーは、PDIの\ pentaho\design-tools\data-integration\libext\JDBCにあります。 Pentahoスイートで他のツールを使用している場合は、それらのツールの追加の場所にドライバーをコピーする必要がある場合があります。参考のために、他の設計ツールのいくつかに適したフォルダーを以下に示します。

  • 集約デザイナー:\ pentaho\design-tools\aggregation-designer\drivers
  • メタデータエディター:\ pentaho\design-tools\metadata-editor\libext\JDBC
  • レポートデザイナー:\ pentaho\design-tools\report-designer\lib\jdbc
  • スキーマワークベンチ:\ pentaho\design-tools\schema-workbench\drivers

この変換またはジョブがテストサーバーや運用サーバーなどの別のボックスで実行される場合、jarファイルのコピーとPDIまたはData Integration Serverの再起動をデプロイメントの考慮事項に含めることを忘れないでください。

14
FremenFreedom

最新バージョンではなく、mysql-connector-Java-5.1.46.tar.gzをダウンロードする必要があります。 Pentahoが使用するDriverクラスは、mysql-connector-Java-8.xx.yyバージョンには含まれていません。

9
Dean Schulze

ここでの他の回答に加えて、Ubuntu(14.04)でそれを行う方法は次のとおりです。

Sudo apt-get install libmysql-Java

これにより、mysql-connector-Java-5.x.x.jar/usr/share/Java/にダウンロードされ、mysql-connector-Java.jarという名前のシンボリックリンクも自動的に作成されます。

次に、/your/path/to/data-integration/lib/にシンボリックリンクを作成します。

ln -s /usr/share/Java/mysql-connector-Java.jar /your/path/to/data-integration/lib/mysql-connector-Java.jar

7
Ryan Tuck

上記の回答は役に立ちましたが、理由は不明ですが、機能していないようです。そのため、既にシステムにMySqlワークベンチをインストールしている場合は、jarファイルをダウンロードして正しいバージョンと格闘する代わりに、

C:\Program Files (x86)\MySQL\Connector J 8.0

そして、その場所にあるjarファイルをmysql-connector-Java-8.0.12(バージョンは関係ありません)コピーして、C:\Program Files\pentaho\design-tools\data-integration\libに貼り付けます。

0
Shubham Chopra

まず、pentahoバージョンと互換性のあるMysqlコネクタをダウンロードする必要があります。その後、data-integration/libフォルダーに貼り付けて、pentahoを再起動します。 。これを確認してください https://help.pentaho.com/Documentation/8.1/Setup/JDBC_Drivers_Reference#MY_SQL

0
PKP