2012-07-24 66 views
58

Tôi đang sử dụng Pentaho Data Integration và tôi đang cố gắng để kết nối với cơ sở dữ liệu của tôi qua MySQL nhưng khi tôi để tôi nhận được lỗi này .....Pentaho tích hợp dữ liệu SQL kết nối

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 

Nếu tôi sử dụng SQLite như Loại kết nối của tôi hoạt động nhưng không có dữ liệu nào được trả lại khi tôi khám phá nó. Vì vậy, câu hỏi của tôi là làm thế nào để tôi nhận được MySQL làm việc hoặc nhận được dữ liệu bằng cách sử dụng SQLite?

Tôi có thiếu thư viện hoặc lớp học không?

Trả lời

11

Hóa ra tôi sẽ thiếu một lớp được gọi là mysql-connector-java-5.1.2.jar, tôi đã thêm nó vào thư mục này (C: \ Program Files \ pentaho \ design-tools \ data-integration \ lib) và nó đã làm việc với một kết nối MySQL và dữ liệu và bảng của tôi xuất hiện.

+0

Working gr8 từ muỗng, nhưng vấn đề về lịch công việc .Cannot tìm dirver. tôi đã bao gồm các trình điều khiển trong tomcat \ webapps \ pentaho \ WEB-INF \ lib nhưng vẫn .... Bất kỳ ý tưởng trong đó vị trí mysql trình điều khiển là mất tích ..? – Surya

13

Thiếu tệp trình điều khiển.

Lỗi này thực sự phổ biến đối với những người mới bắt đầu với PDI.

Trình điều khiển đi vào \ pentaho \ design-tools \ data-integration \ libext \ JDBC cho PDI. Nếu bạn đang sử dụng các công cụ khác trong bộ Pentaho, bạn có thể cần phải sao chép các trình điều khiển đến các vị trí bổ sung cho các công cụ đó. Để tham khảo, đây là những thư mục thích hợp cho một số các công cụ thiết kế khác:

  • Aggregation Nhà thiết kế: \ Pentaho \ thiết kế-tools \ tập hợp-nhà thiết kế \ drivers
  • Metadata Editor: \ Pentaho \ thiết kế-tools \ siêu dữ liệu-editor \ libext \ JDBC
  • Report Designer: \ Pentaho \ thiết kế-tools \ báo cáo-nhà thiết kế \ lib \ jdbc
  • Schema Workbench: \ Pentaho \ thiết kế-tools \ schema-workbench \ drivers

Nếu chuyển đổi hoặc công việc này sẽ chạy trên một hộp khác, chẳng hạn như máy chủ thử nghiệm hoặc máy chủ sản xuất, đừng quên bao gồm sao chép tệp jar và khởi động lại PDI hoặc Máy chủ tích hợp dữ liệu trong các cân nhắc triển khai của bạn.

116

Tôi vừa gặp vấn đề tương tự khi cố gắng truy vấn Cơ sở dữ liệu MySQL từ Pentaho.

Lỗi kết nối với cơ sở dữ liệu [Local MySQL DB]: org.pentaho.di.core.exception.KettleDatabaseException: xảy ra Lỗi trong khi cố gắng kết nối với cơ sở dữ liệu

ngoại lệ khi tải lớp org.gjt .mm.mysql.Driver

Mở rộng bài bởi @ user979331 giải pháp là:

  1. Tải các Latest MySQL Java Connector/Driver
  2. Unzip các zip tập tin (trong trường hợp của tôi nó đã mysql-connector-java-5.1.31.zip)
  3. bản sao các .jar tệp (mysql-connector-java-5.1.31-bin.jar) và dán nó trong Lib thư mục của bạn:

    PC: C: \ Program Files \ Pentaho \ thiết kế-tools \ dữ liệu tích hợp \ lib

    Mac:/Applications/data-integration/lib

Khởi động lại Pentaho (Tích hợp dữ liệu) và kiểm tra lại kết nối MySQL.

+0

bạn có biết thư mục tương ứng sẽ dành cho máy chủ BI không? – decal

+1

Dude, bạn thật tuyệt !! – Stormsson

+1

tôi đã dán tệp jar kết nối mới nhất nhưng lỗi vẫn còn tồn tại –

6

Bên cạnh những câu trả lời khác ở đây, dưới đây là cách bạn có thể làm điều đó trên Ubuntu (14.04):

sudo apt-get install libmysql-java

này sẽ tải mysql-connector-java-5.x.x.jar để /usr/share/java/, mà tôi tin rằng cũng sẽ tự động tạo một symlink tên mysql-connector-java.jar .

Sau đó, tạo một liên kết tượng trưng trong /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

Các vấn đề liên quan