提问者:小点点

Pentaho数据集成:jdbc连接到MSSQL服务器不工作


随着Pentaho数据集成社区版-水壶5.0.1(http://community.pentaho.com/projects/data-integration/)我可以连接到我的MSSQL服务器2014数据库没有问题,选择MSSQL服务器,然后原生(JDBC)从工具-?向导-

我现在已经升级到最新的5.4版本,无法再连接。

我得到的错误如下。

对如何解决这个问题有什么建议吗?我发现令人困惑的是,我找不到方法告诉Pentaho jdbc驱动程序在哪里。例如,我下载了微软的JDBC驱动程序(https://www.microsoft.com/en-us/download/details.aspx?displaylang=en

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

Error connecting to database: (using class net.sourceforge.jtds.jdbc.Driver)
I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.


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

Error connecting to database: (using class net.sourceforge.jtds.jdbc.Driver)
I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.


    at org.pentaho.di.core.database.Database.normalConnect(Database.java:428)
    at org.pentaho.di.core.database.Database.connect(Database.java:358)
    at org.pentaho.di.core.database.Database.connect(Database.java:311)
    at org.pentaho.di.core.database.Database.connect(Database.java:301)
    at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:80)
    at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2686)
    at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.test(DatabaseDialog.java:109)
    at org.pentaho.di.ui.core.database.wizard.CreateDatabaseWizardPage2.test(CreateDatabaseWizardPage2.java:157)
    at org.pentaho.di.ui.core.database.wizard.CreateDatabaseWizardPage2$3.widgetSelected(CreateDatabaseWizardPage2.java:147)
    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.di.ui.core.database.wizard.CreateDatabaseWizard.createAndRunDatabaseWizard(CreateDatabaseWizard.java:111)
    at org.pentaho.di.ui.spoon.Spoon.createDatabaseWizard(Spoon.java:7595)
    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: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.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:1319)
    at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7939)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9190)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:654)
    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:92)
Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
Error connecting to database: (using class net.sourceforge.jtds.jdbc.Driver)
I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.

    at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:592)
    at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:4697)
    at org.pentaho.di.core.database.Database.normalConnect(Database.java:414)
    ... 43 more
Caused by: java.sql.SQLException: I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
    at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:615)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:345)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
    at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:578)
    ... 45 more
Caused by: java.io.IOException: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
    at net.sourceforge.jtds.jdbc.TdsCore.sendMSLoginPkt(TdsCore.java:1893)
    at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:588)

共3个答案

匿名用户

我通过将ntlmauth. dll文件从旧的Pentaho安装复制到c:\Pentaho\libswt\win32来修复此问题。

我从这篇文章中得到一个提示:I/O错误:SSO失败:未加载本机SSPI库

总之,此dll与集成身份验证有关,即使用WindowsID登录到SQL服务器,而不是显式地告诉驱动程序您的id和密码。

老实说,我不明白为什么旧安装有这个文件,而新安装没有,但这可以。

其他选择可能是从Microsof的官方jdbc驱动程序中获取相同的文件(尽管我不确定该dll是否仅适用于Microsoft的JDBC或Pentaho的),或者从JTDS包中获取相同的文件(http://sourceforge.net/projects/jtds/)

匿名用户

我解决了应对驱动程序sqljdbc. jarC:\PENTAHO\pdi-ce-7.0.0.0-25\data-集成\lib。并且还复制文件sqljdbc_auth.dll以允许另一种类型的自动验证。

最后,在连接类型中,我选择了MSSQLSERVER(Native)

匿名用户

我解决了应对驱动sqljdbc42.jar和jtds-1.3