我正在使用pentaho data integration 4.1 (Kettle)来构建一个ETL系统。我的客户要求使用window身份验证连接到数据库(MS SQL Server),我知道Kettle支持它。但是,当我运行我的水壶作业时,它抛出异常
"I/O Error: SSO Failed: SSPI Not Initialized"。
从论坛上的一篇文章中,我将库sqljdbc_auth.dll复制到jre/bin文件夹中。效果很好,我可以使用window身份验证来连接到SQL server。但是这个函数并不稳定,我的意思是有时它工作得很好,有时它会抛出异常
"I/O Error: SSO Failed: SSPI Not Initialized"。
请告诉我如何修复此错误。
谢谢。
发布于 2013-02-02 06:52:20
要连接到SQL Server2008,我必须安装'Microsoft JDBC Driver 4.0 for SQL Server‘,然后在%PENTAHO_DI_JAVA_OPTIONS%中添加sqljdbc_auth.dll到Spoon.bat的路径。如下所示:
set OPT=%PENTAHO_DI_JAVA_OPTIONS% "-Djava.library.path=%LIBSPATH%;C:\PROGRA~1\MICROS~1.0FO\sqljdbc_4.0\enu\auth\x86;C:\PROGRA~1\IBM\SQLLIB\BIN" "-DKETTLE_HOME=%KETTLE_HOME%" "-DKETTLE_REPOSITORY=%KETTLE_REPOSITORY%" "-DKETTLE_USER=%KETTLE_USER%" "-DKETTLE_PASSWORD=%KETTLE_PASSWORD%" "-DKETTLE_PLUGIN_PACKAGES=%KETTLE_PLUGIN_PACKAGES%" "-DKETTLE_LOG_SIZE_LIMIT=%KETTLE_LOG_SIZE_LIMIT%"丑陋,但这就是Windows下的Java。不过,现在已经相当可靠了。
发布于 2012-06-08 16:32:22
您使用的是JTDS驱动程序吗?尝试将其与ntlmauth.dll结合使用-当在Windows Server2003上运行连接到各种远程sqlserver数据库的PDI时,这对我们来说非常有效。
我们将DLL放在这个文件夹中:
libswt\win64
发布于 2013-08-01 22:00:04
在MSSQL2008中使用JDBC 1.2.2时,我也遇到了同样的问题。事实证明,驱动程序中存在一个错误,如果您使用多个连接对其进行初始化,则会使其随机崩溃。
如果我们只使用一个到数据库的初始连接,这个错误就不会出现。
此问题已在JDBC的较新版本中修复。我们目前使用的是1.3.0,I/O Error: SSO Failed: SSPI Not Initialized从来没有出现过。
https://stackoverflow.com/questions/10925859
复制相似问题