【转载须知】转载请标注本文链接。

Kettle版本:7.1

E:\迅雷下载\Kettle-pdi-ce-7.1.0.0-12\data-integration

运行spoon.bat

新建-数据库

报错内容:

2d4a52ac8df5f8606badd1ad23e047bb.png

org.pentaho.ui.xul.XulException: org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException

at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:134)

at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:128)

at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:122)

at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:242)

at org.pentaho.ui.database.DatabaseConnectionDialog.getSwtInstance(DatabaseConnectionDialog.java:60)

at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.createDialog(XulDatabaseDialog.java:147)

at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:105)

at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:60)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:485)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:472)

at org.pentaho.di.ui.spoon.Spoon.newConnection(Spoon.java:8788)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141)

at org.pentaho.ui.xul.jface.tags.JfaceMenuitem.access$100(JfaceMenuitem.java:43)

at org.pentaho.ui.xul.jface.tags.JfaceMenuitem$1.run(JfaceMenuitem.java:106)

at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)

at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)

at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)

at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)

at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)

at org.eclipse.swt.widgets.Display.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:1366)

at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)

at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)

at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

Caused by: org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException

at org.pentaho.ui.xul.impl.XulParser.getElement(XulParser.java:239)

at org.pentaho.ui.xul.impl.XulParser.parse(XulParser.java:164)

at org.pentaho.ui.xul.impl.XulParser.parseDocument(XulParser.java:85)

at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:126)

...37more

Caused by: java.lang.reflect.InvocationTargetException

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2127)

at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2108)

at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1914)

at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2021)

at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1018)

at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:823)

at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:431)

at org.pentaho.ui.xul.impl.XulParser.getElement(XulParser.java:235)

...40more

Caused by: java.lang.ClassCastException:class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.String; ([Ljava.lang.Object; and [Ljava.lang.String; are in module java.base of loader 'bootstrap')

at org.pentaho.ui.xul.swt.tags.SwtDialog.setButtons(SwtDialog.java:268)

...52 more

解决方案: 重新安装jdk8,并配置环境变量。

As mentioned in Pentaho Components Reference, Only Java 8 is supported by Pentaho Data Integration, So it is not recommended to try out Java 9 or Java 11 at the moment (until they release a version which supports above Java 8).

jdk8下载:

下载地址:https://download.oracle.com/otn/java/jdk/8u251-b08/3d5a2bb8f8d4428bbe94aed7ec7ae784/jdk-8u251-windows-x64.exe?AuthParam=1592214346_b478a010230ec68704d8566f35aa3c18

安装成功后,会有Rusn configurations出现。

20d7b452e555a895e226db2f15b1ff6d.png

48c9a46166ad2976aed12a6f9be74882.png

创建mysql连接:

create USER 'mytest'@'%' IDENTIFIED BY 'admin';

GRANT ALL ON *.* TO 'mytest'@'%';

FLUSH privileges

mysql-connector-java-5.1.5-bin.jar 放到lib\下测试。

连接Mysql报错:

报错:

错误连接数据库 [mysql1] : org.pentaho.di.core.exception.KettleDatabaseException:

Error occurredwhiletrying to connect to the database

Error connecting to database: (using classorg.gjt.mm.mysql.Driver)

Unknown initial characterset index '255' received from server. Initial client character set can be forced via the 'characterEncoding'property.

org.pentaho.di.core.exception.KettleDatabaseException:

Error occurredwhiletrying to connect to the database

Error connecting to database: (using classorg.gjt.mm.mysql.Driver)

Unknown initial characterset index '255' received from server. Initial client character set can be forced via the 'characterEncoding'property.

at org.pentaho.di.core.database.Database.normalConnect(Database.java:472)

at org.pentaho.di.core.database.Database.connect(Database.java:370)

at org.pentaho.di.core.database.Database.connect(Database.java:341)

at org.pentaho.di.core.database.Database.connect(Database.java:331)

at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:80)

at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2783)

at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:597)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141)

at org.pentaho.ui.xul.swt.tags.SwtButton.access$500(SwtButton.java:43)

at org.pentaho.ui.xul.swt.tags.SwtButton$4.widgetSelected(SwtButton.java:137)

at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)

at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)

at org.eclipse.swt.widgets.Display.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.di.ui.xul.KettleDialog.show(KettleDialog.java:80)

at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:47)

at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:116)

at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:60)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:485)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:472)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3073)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3043)

at org.pentaho.di.ui.spoon.Spoon.access$2300(Spoon.java:361)

at org.pentaho.di.ui.spoon.Spoon$26.widgetDefaultSelected(Spoon.java:6184)

at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)

at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)

at org.eclipse.swt.widgets.Display.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:1366)

at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)

at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)

at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

Caused by: org.pentaho.di.core.exception.KettleDatabaseException:

Error connecting to database: (using classorg.gjt.mm.mysql.Driver)

Unknown initial characterset index '255' received from server. Initial client character set can be forced via the 'characterEncoding'property.

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:585)

at org.pentaho.di.core.database.Database.normalConnect(Database.java:456)

...48more

Caused by: java.sql.SQLException: Unknown initial characterset index '255' received from server. Initial client character set can be forced via the 'characterEncoding'property.

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)

at com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1681)

at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3422)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2046)

at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:729)

at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:46)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)

at java.sql.DriverManager.getConnection(DriverManager.java:664)

at java.sql.DriverManager.getConnection(DriverManager.java:247)

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:567)

...49more

主机名 : localhost

端口 :3306数据库名:mytest

把data-integration/lib下mysql-connector-java-5.1.5-bin.jar,换成mysql-connector-java-8.0.20.jar,报错:

错误连接数据库 [mysql1] : org.pentaho.di.core.exception.KettleDatabaseException:

Error occurredwhiletrying to connect to the database

Driverclass 'sun.jdbc.odbc.JdbcOdbcDriver' could not be found, make sure the 'MS SQL Server' driver (jar file) isinstalled.

sun.jdbc.odbc.JdbcOdbcDriver

org.pentaho.di.core.exception.KettleDatabaseException:

Error occurredwhiletrying to connect to the database

Driverclass 'sun.jdbc.odbc.JdbcOdbcDriver' could not be found, make sure the 'MS SQL Server' driver (jar file) isinstalled.

sun.jdbc.odbc.JdbcOdbcDriver

at org.pentaho.di.core.database.Database.normalConnect(Database.java:472)

at org.pentaho.di.core.database.Database.connect(Database.java:370)

at org.pentaho.di.core.database.Database.connect(Database.java:341)

at org.pentaho.di.core.database.Database.connect(Database.java:331)

at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:80)

at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2783)

at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:597)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141)

at org.pentaho.ui.xul.swt.tags.SwtButton.access$500(SwtButton.java:43)

at org.pentaho.ui.xul.swt.tags.SwtButton$4.widgetSelected(SwtButton.java:137)

at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)

at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)

at org.eclipse.swt.widgets.Display.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.di.ui.xul.KettleDialog.show(KettleDialog.java:80)

at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:47)

at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:116)

at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:60)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:485)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:472)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3073)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3043)

at org.pentaho.di.ui.spoon.Spoon.access$2300(Spoon.java:361)

at org.pentaho.di.ui.spoon.Spoon$26.widgetDefaultSelected(Spoon.java:6184)

at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)

at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)

at org.eclipse.swt.widgets.Display.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:1366)

at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)

at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)

at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

Caused by: org.pentaho.di.core.exception.KettleDatabaseException:

Driverclass 'sun.jdbc.odbc.JdbcOdbcDriver' could not be found, make sure the 'MS SQL Server' driver (jar file) isinstalled.

sun.jdbc.odbc.JdbcOdbcDriver

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:515)

at org.pentaho.di.core.database.Database.normalConnect(Database.java:456)

...48more

Caused by: java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

at java.net.URLClassLoader.findClass(URLClassLoader.java:382)

at java.lang.ClassLoader.loadClass(ClassLoader.java:418)

at java.lang.ClassLoader.loadClass(ClassLoader.java:351)

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:490)

...49more

主机名 :

端口 :1521数据库名:mytest

a255d26752df38fc8c9a5b36fc8702e0.png

最终把mysql-connector-java-5.1.49-bin.jar放到lib文件夹下,成功了。

Kettle-pdi-ce-7.1.0.0-12\data-integration\lib\

MS SQL SERVER

JDBC Driver

It is recommended to use the official Microsoft JDBC Driver for SQL Server (v4.0) to connect PDI to a Microsoft SQL Server.

For Integrated Security authentication, the JDBC driver requires the bundled "DLL" file to also be added.  The DLL file can be added to the "libswt/win64/" directory of the data-integration client.

报错:

错误连接数据库 [sql] : org.pentaho.di.core.exception.KettleDatabaseException:

Error occurredwhiletrying to connect to the database

Error connecting to database: (using classcom.microsoft.sqlserver.jdbc.SQLServerDriver)

通过端口1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

org.pentaho.di.core.exception.KettleDatabaseException:

Error occurredwhiletrying to connect to the database

Error connecting to database: (using classcom.microsoft.sqlserver.jdbc.SQLServerDriver)

通过端口1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

at org.pentaho.di.core.database.Database.normalConnect(Database.java:472)

at org.pentaho.di.core.database.Database.connect(Database.java:370)

at org.pentaho.di.core.database.Database.connect(Database.java:341)

at org.pentaho.di.core.database.Database.connect(Database.java:331)

at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:80)

at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2783)

at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:597)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141)

at org.pentaho.ui.xul.swt.tags.SwtButton.access$500(SwtButton.java:43)

at org.pentaho.ui.xul.swt.tags.SwtButton$4.widgetSelected(SwtButton.java:137)

at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)

at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)

at org.eclipse.swt.widgets.Display.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.di.ui.xul.KettleDialog.show(KettleDialog.java:80)

at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:47)

at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:116)

at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:60)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:485)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:472)

at org.pentaho.di.ui.spoon.Spoon.newConnection(Spoon.java:8788)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157)

at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141)

at org.pentaho.ui.xul.jface.tags.JfaceMenuitem.access$100(JfaceMenuitem.java:43)

at org.pentaho.ui.xul.jface.tags.JfaceMenuitem$1.run(JfaceMenuitem.java:106)

at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)

at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)

at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)

at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)

at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)

at org.eclipse.swt.widgets.Display.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:1366)

at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)

at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)

at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

Caused by: org.pentaho.di.core.exception.KettleDatabaseException:

Error connecting to database: (using classcom.microsoft.sqlserver.jdbc.SQLServerDriver)

通过端口1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:585)

at org.pentaho.di.core.database.Database.normalConnect(Database.java:456)

...57more

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)

at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:242)

at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2280)

at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:493)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1388)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1069)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:905)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:452)

at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1014)

at java.sql.DriverManager.getConnection(DriverManager.java:664)

at java.sql.DriverManager.getConnection(DriverManager.java:270)

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:558)

...58more

主机名 : localhost

端口 :1433数据库名:MyDatabase

【解决方案】安装jdbc包:sqljdbc42.jar 放到kettle的lib\下。TCP/IP设为Enabled和SQL SERVER BROWSER启动。

c382a260777147da67207c6732e6e3de.png

2be3fe08b220685d17a71f2267d4ad5e.png

必须要重启生效。

a38f34233fd8e301650eea22209eeee4.png

测试成功:

355afa3b7548d293529008e572c52334.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐