Monday, February 20, 2012

JDBC Integrated Security problem

Hi,

I am using the latest 6/26 JDBC driver to connect to sql server 2000 server. My url is jdbc:sqlserver://hostname:1433;integratedSecurity=true;. I was getting the following errors "Invalid integratedSecurity property value:true". Any suggestion to resolve this problem.

Thanks.

hi Alexie,

Can you try adding the following to your repro:
DatabaseMetaData dd = conn.getMetaData();
System.out.println("Driver version is " + dd.getDriverVersion() );

My first suspicion is that you may have the RTW driver somewhere in the path and you are not picking up CTP2.

CTP2 Driver version is 1.1.1320.0. This build contains Integrated Security feature.
RTW Driver version is 1.0.809.102. This build would throw the error that you are seeing since Integrated authentication was not yet implemented.|||

Thanks your information. Clean the classpath helps to resolve this problem.

Additional question, how to pass NT domain account. I enter

jdbc:sqlserver://hostname;integratedSecurity=true;user=domain\myaccount;password=mypassword;

I was getting exception like

Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.

Do you have any suggestion? I heard that I need to impersonate my client program. Do you know where to find reference document and sample code.

|||pls run the sql profiler and check what account is java using to connect to sql server|||

I am not able to connect to sql server. Should I see any errors in profiler? Java account is using sql server admin account. I can see other textData for admin account but not for remote sql server connection.

Thanks.

|||

Glad to hear that you got the path problem cleared up.

There is no way to pass in NT domain account, unfortunatelly this means that integrated authentication will not work at all on non Windows platforms.

For Windows platforms you can get arround this limitation by using impersonation before creating a connection so that you connect with the NT domain information that you select.

One of the features currently being considered for our next release is a type four integrated authentication that would work for non Windows platforms and that would allow you to pass in NT authentication as shown above. Currently we have no customer feedback on why this would be important, and it is not clear whether we will decide to include it. If this feature is important to you I would encourage you to file a bug directly in the product feedback webpage, it will definitelly help us come feature discussion time.

http://msdn.microsoft.com/data/ref/jdbc/ "Submit Feedback on the JDBC Driver"

Thanks,

Angel

|||

Angel,

Thanks your information. As you mention, it will be a problem if our java client resides on non-windows environment and tries to access sql server.

|||

Angel,

I try to submit feedback, but I am not able to locate any add new feedback function. Can you help?

|||

Alexie,

What problem did you have when clicking on the "Submit Feedback on the JDBC Driver" link? As far as I know this should take you to the Connect web site where you should be able to file a bug directly on this product.

|||

Angel,

I try the http://connect.microsoft.com/SQLServer/Feedback. It only allow me to search all existing bugs. But, I try to add new bug.

|||

I see, the process is a little bit confusing. This is the first time that I use the updated connect page.

They seem to be trying to avoid bug duplicates by forcing you to do a search first. You can submit a bug after doing the search.

The process looks like: http://connect.microsoft.com/SQLServer/Feedback. -> Submit Feedback

Step 1 has someone else already reported this issue: -> write something on the search feedback textbox and click on search.

Step 2, Unable to find a match -> Submit Feedback (button at the bottom of the screen)

click on SQL Server 2005 Bug Form . Make sure you type JDBC on the title of the bug so that it gets routed to us faster.

Hope this is not too much of a pain, thank you for taking the time to submit feedback.

|||

Angel,

Thanks. I submitted my feedback.

|||

Angel,

You mentioned "For Windows platforms you can get arround this limitation by using impersonation before creating a connection so that you connect with the NT domain information that you select." from you early response.

Do you know how to implement impersonation? Any code sample or reference document?

Thanks again.

|||

Hmm not really sure what the best way would be. I would create a windows dll and call from the Java app into my dll to use Windows impersonation APIs.

This looks promising though:

http://www.onjava.com/pub/a/onjava/2004/02/25/javavsdotnet.html?page=4

|||

Angel,

I am able to impersonate my client program, but I am still getting "Login failed for user ''. The user is not associated with a trusted SQL Server connection.". Do you know why I am still getting this error? Do I miss any steps? Both my client program and SQL Server 2005 are on same host and same domain(DC).

Thanks.

No comments:

Post a Comment