Pentaho 데이터 통합 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를 Connection Type으로 사용했을 경우 동작하지만 탐색할 때 데이터가 반환되지 않습니다.그렇다면 어떻게 하면 MySQL을 작동시키거나 SQLite를 사용하여 데이터를 가져올 수 있을까요?
도서관이나 수업에 빠졌나요?
Pentaho에서 MySQL Database를 조회하려다 같은 문제가 발생했습니다.
데이터베이스 [Local MySQL DB] : org.pentaho.di.core.exception에 연결하는 중 오류가 발생했습니다.주전자 데이터베이스예외:데이터베이스에 연결하는 동안 오류가 발생했습니다.
클래스 org.gjt.mm.dload 중 예외가 발생했습니다.드라이버
@user979331에 의한 투고 확대 솔루션은 다음과 같습니다.
- 사용 중인 주전자 버전과 호환되는 MySQL Java 커넥터/드라이버를 다운로드합니다.
- zip 파일을 압축 해제합니다(이 경우는 mysql-connector-java-5.1.31.zip).
.jar 파일(mysql-connector-java-5.1.31-bin.jar)을 복사하여 Lib 폴더에 붙여넣습니다.
PC: C:\Program Files\pentaho\design-tools\data-integration\lib
Mac: /어플리케이션/데이터 통합/lib
Pentaho(데이터 통합)를 재시작하고 MySQL Connection을 다시 테스트합니다.
다른 사람의 흥미로운 답변은 다음에도 도움이 될 수 있습니다.
- PDI 버전과 호환되는 정상적인 JDBC 드라이버 버전을 다운로드하십시오.https://help.pentaho.com/Documentation/8.1/Setup/JDBC_Drivers_Reference#MY_SQL
- zip 버전("플랫폼 독립")을 사용하여 jar 파일을 추출합니다.
- lib 폴더로 이동
- Ryan Tuck이 제안한 적절한 처리 방법을 참조하십시오.
드라이버 파일이 없습니다.
이 오류는 PDI를 시작한 지 얼마 안 된 사람에게서 흔히 볼 수 있습니다.
드라이버는 \pentaho\design-tools\data-integration\libext\로 들어갑니다.PDI용 JDBCPentaho 제품군의 다른 도구를 사용하는 경우 해당 도구의 추가 위치에 드라이버를 복사해야 할 수 있습니다.참고로 기타 설계 도구에 적합한 폴더는 다음과 같습니다.
- 어그리게이션 디자이너: \pentaho\design-tools\aggregation-designer\drivers
- 메타데이터 에디터: \pentaho\design-tools\metadata-editor\libext\JDBC
- 보고서 설계자: \pentaho\design-tools\report-designer\lib\jdbc
- Schema Workbench: \pentaho\design-tools\schema-workbench\drivers
이 변환 또는 작업이 테스트 서버나 프로덕션 서버 등 다른 상자에서 실행되는 경우 배포 고려사항에 jar 파일을 복사하고 PDI 또는 Data Integration Server를 재시작하는 것을 잊지 마십시오.
mysql-connector-java-5.1.2.jar라고 하는 클래스가 없는 것으로 판명되었습니다.이 폴더(C:\Program Files\design-tools\data-integration\lib)를 추가했더니 MySQL 접속으로 동작하여 데이터와 테이블이 표시됩니다.
다운로드가 필요합니다.mysql-connector-java-5.1.46.tar.gz
최신 버전이 아닙니다.Pentaho가 사용하는 드라이버클래스는 mysql-connector-java-8에는 포함되어 있지 않습니다.xx.yy 버전
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
현시점에서는, 이 문제를 간단하게 해결할 방법은 다음과 같습니다.
- 에 가다
Tools
→MarketPlace
PDI MySQL 플러그인 검색 - 인스톨 합니다(이것에 의해, 누락된 드라이버가 자동적으로 인스톨 됩니다).
data-integration\plugins\databases\pdi-mysql-plugin\lib
) - 펜타호 재시작
- 다 했어요.
간결하고 정확하게 하기 위해 MySql 버전과 호환되는 jdbc(.jar) 파일을 다운로드하여 저장합니다.lib
폴더입니다.예를 들어 MySQL 8.0.2의 경우 Connector/J 8.0.20을 다운로드합니다.
위의 답변은 도움이 되었지만, 알 수 없는 이유로 효과가 없는 것 같습니다.시스템에 MySql 워크벤치를 이미 설치한 경우 jar 파일을 다운로드하여 올바른 버전을 사용하는 대신 다음 페이지로 이동하십시오.
C:\Program Files (x86)\MySQL\Connector J 8.0
및 복사mysql-connector-java-8.0.12
(버전이 어떤 것이든 상관없습니다) 그 위치에 jar 파일을 붙여 넣습니다.C:\Program Files\pentaho\design-tools\data-integration\lib
우선 당신의 펜타호 버전과 호환되는 Mysql 커넥터를 다운로드해야 합니다.그런 다음 데이터 통합/lib 폴더에 붙여넣고 펜타호를 다시 시작합니다.이 https://help.pentaho.com/Documentation/8.1/Setup/JDBC_Drivers_Reference#MY_SQL 를 체크해 주세요.
언급URL : https://stackoverflow.com/questions/11634181/pentaho-data-integration-sql-connection
'itsource' 카테고리의 다른 글
MySQL의 높은 CPU 사용률 (0) | 2022.09.04 |
---|---|
치명적인 오류: 유효하지 않은 히프 제한 부근의 마크 콤팩트 할당 실패 - Ionic 3의 JavaScript 힙 메모리 부족 (0) | 2022.09.04 |
ResultSet의 데이터를 열 이름과 함께 인쇄합니다. (0) | 2022.09.04 |
JavaScript에서 스크립트를 종료하려면 어떻게 해야 합니까? (0) | 2022.09.04 |
LAST_INSERT_를 사용하여 여러 테이블에 삽입PDO준비명세서내 아이디 (0) | 2022.09.04 |