I am using pentaho data integration 4.1 (Kettle) to build an ETL system. My customer requires connecting to database (MS SQL Server) using window authentication, I knew that Kettle supported it . However when I run my Kettle job, it throws the exception
"I/O Error: SSO Failed: SSPI Not Initialized".
From an article on a forum, I copy library sqljdbc_auth.dll into jre/bin folder. The result is quite good, I can use window authentication to connect to SQL server. But this function is not stable, I mean sometimes it works well, sometimes it throws exception
"I/O Error: SSO Failed: SSPI Not Initialized".
Please tell me how to fix this error.
Thank you.
To connect to SQL Server 2008, I had to install the 'Microsoft JDBC Driver 4.0 for SQL Server' and then add the path to sqljdbc_auth.dll to Spoon.bat in %PENTAHO_DI_JAVA_OPTIONS%. Like this:
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%"
Ugly, but that's Java under Windows for you. Works quite reliably now though.
Are you using the JTDS driver? Try that combined with the ntlmauth.dll - that works great for us when running PDI on Windows Server 2003 connecting to various remote sqlserver databases.
We place the DLL in this folder:
libswt\win64
I've had the same issue while using JDBC 1.2.2 with MSSQL 2008. It turns out that there is a bug in the driver, making it randomly crash if you initialize it with more than one connection.
If we used only one initial connection to the DB this error never presented itself.
The issue is fixed in a later versions of JDBC. We currently use 1.3.0 and I/O Error: SSO Failed: SSPI Not Initialized never comes up.
Related
I searched through all threads on the web available, but none could help me.
I am trying to connect to SQL Server engine from SQL Developer. In order to do that I enabled Named Pipes and TCP/IP from SQL Configuration Manager.
Then I tried different drivers:
I tried Microsoft JDBC driver for SQL Server - I cannot choose in connection manager SQL Server database type, so it does not work..
I tried jTDS driver instead, and it worked - I can choose SQL Server database type, but then all I get is an error informing that it cannot connect to Microsoft SQL Server on localhost (I tried localhost, name of my computer, none of which worked).
Is there anything more I can do?
EDIT
This is what I have so far:
SECOND EDIT
I had more problems:
With error saying
Status: Failur-I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property
Using windows authentication, I still got asked for username and password.
(All details and solutions in my answer below)
We only support the jTDS driver for SQL Server and Sybase ASE connections, so that's the way to go.
After that, it's up to you to get a correct connection string to your SQL Server system.
Make sure you have the right port in addition to your 'localhost' network location for your SQL Server instance.
This is using version 19.1 of SQL Developer to connect to a SQL2012 instance overseas..
Actually there were more problems, which I'll post here along with solutions:
In order to ba able to connect SQL Server database type from SQL developer it is needed to install jTDS driver, as already mentioned. Other types are not supported by SQL Developer.
Next thing was to configure with SQL Configuration Manager (the easiest way IMO) SQL Server to listen on IP port 1433, not dynamic, as was previously set. In order to do that in configuration manager I had to go to SQL Server Network Configuration and make appropriate changes. More here.
Next I had problem:
Status: Failur-I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property
Which was the fault of missing file, solution was placing file ntlmauth.dll to the /jdk/bin in SQL Developer directory.
I chose Windows authentication, which apparently is not supported by jTDS, so I needed to create user in SQL Server, which I use to connect SQL Server from SQL Developer.
After all that, I had it working.
Trying to connect to localdb using Database tab in Rider.
I adding SqlServer jTds and Rider shows this error
Connection to SunEngineDb1 failed. [08S01] Network error IOException:
.\pipe\MSSQL$LOCALDB#E65C6709\sql\query (Can not find the specified
file)
What am I missing, and how it can be solved?
It is ASP.NET Core 2.0 project with localdb database on development. If I run it it works perfectly including database connect.
Well, finally we discovered the problem. It is the mistake in the driver we provide. To have this issue fixed urgently, delete the file \config\jdbc-drivers\jdbc-drivers.xml and restart the IDE. Then, please, refresh your driver to 1.3.1.1 or just put [latest] there.
I would like to ask someone who already tried to connect to SQL database from soapUI opensource version.
I have a test step JDBC request where I try to test and connect to my sql database. I use opensource version of soapUI. I read how it should be set up but still experience some problems.
This is what I do:
I installed java 8 and jdbc driver version 4.1. Added jdbc jar file to SoapUi/jre/bin folder as it is said in documentation for soapUI. This version of driver should work with Java 8.
Then in Driver field I write
com.microsoft.sqlserver.jdbc.SQLServerDriver
In connection string:
jdbc:sqlserver://Sservername:portnumber;databaseName=Consumption;username=alyona.kovalyova;password=mypassword
I get error saying
Can't get the Connection for specified properties; com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'alyona.kovalyova'. ClientConnectionId...
I use my domain account because in our company the policy does not allow us to use database user. Because of this I tried to add integratedSecurity parameter to the string which should allow to login with windows account like this:
jdbc:sqlserver://S23-AS:1433;databaseName=Consumption;integratedSecurity=true
I also get error:
Can't get the Connection for specified properties; com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId..
Does anyone encountered the same issue before? Could you give some recommendation?
For integrated authentication to work you'll need sqljdbc_auth.dll matching your environment (32bit / 64bit) in your library path (putting it in bin as well might help already)
I am trying to connect to my local MS SQL SERVER 2008 R2 using JDBC. I get the following error
BW-JDBC-100034 "Configuration Test Failed. Exception [java.sql.SQLException] occurred.
java.sql.SQLException: No suitable driver found
I have already verified the following
SQLJDBC.jar is in the path TIBCO_HOME\tpcl\5.8\jdbc & TIBCO_HOME\tpcl\5.8\LIB
The classpath tibco.env.STD_CP_EXT is set to the path TIBCO_HOME\JDBC in the designer.tra file.
Still I get the BW-JDBC-100034 error. Kindly advise
Could you please provide the jdbc driver you are using in this JDBC Connection activity? If you are using Microsoft driver you have to use the sqljdbc4.jar as you have already used. If you are using a tibco driver however, you need the TISql.jar which you can obtain by installing the product TIBCO-dbdrivers-2.0 from download.tibco.com.
Happy that you were able to fix the issue.
I'm building database application with delphi 2010 in which the database i used is ms access 2007 and ado as the connection....
then, i used installshield express from delphi 7 to do the deployment....
i open the setup file in my computer and there is no problem with it..but when i open the setup file in client computer, there is some error...
what makes me confused is what files needed to be added in the setup file for the deployment?
i've installed mdac 2.8 sp1 in the client, but it's still not working...
the error messages i got are : [microsoft][ODBC MIcrosoft Access Driver] general error unable to open registry key temporary (volatile) Ace DSN for process 0x16c8 thread 0x628 DBC 0x 3dc7eec
[micorsoft][ODBC Driver Manager] Data source name not found and no default driver specified..
then, when i try to another client computer, the error message i got are: [Microsoft][ODBC Microsoft Access Driver]'(Unknown)' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides
Exception EOle Exception in module 'module_name'.exe at 001A26AC
that's all the error messages i got... any clues?
Are you using the ACCDB format files? If so the version of ADO that comes with Windows knows nothing about that file format. You will need to install 2007 Office System Driver: Data Connectivity Components I would suggest using an MDB format file unless you are using some of the Access 2007 specific features as ADO knows all about MDB format.
It's very doubtful you'd need to install MDAC on the client system so long as it's Windows XP SP3 or newer. Windows XP SP2 installed MDAC 2.8 SP1. So don't much with the ADO version. For some information on how ADO works at the version level see I've never quite trusted ADO because … That article is written from the Access perspective but should give you some useful information on ADO versioning.
Perhaps the ADO connection component in your app has it's Active property set to true, or is set to true on startup, but the connection string is not valid on client machines as opposed to your dev machine? In this case you would receive a connnection error.
Without the error message it's hard to tell as jachguate says, but theoretically you should not need anything additional to deploy it according to the information you have provided.
As already said, without more information, it's hard to tell.
Please read and follow the advices on writing a good question by Jon Skeet.
It will boost your chances of getting an actionable answer...
Three basic things you need for connecting to Access:
the Data access layer: you should have it covered with installing MDAC.
the DB itself: either you create it from your application or the DB must already exist on the target machine. If not, you must deploy the DB files.
the connection to the DB: you must ensure the ConnectionString is valid for the target machine and you don't try to connect or activate any dataset before it is checked.
This is working now.
I installed 2007 Office System Driver: Data Connectivity Components as Tony recommended, then I also added midas.dll to system32 on the client computer.