2010-11-04 94 views
1

我发现了一些类似的问题,但没有有用的答案。 我需要从我的Java应用程序操作一个名为PDPJ_Student的MS SQL Server数据库,我无法连接到它。我收到以下错误:使用Windows身份验证将Java连接到MS SQL Server数据库

[Microsoft] [用于JDBC的SQLServer 2000驱动程序] [SQLServer]用户'LAPTOP-TITI/Titi'的登录失败。用户未与可信的SQL Server连接相关联。

和我的消息来源是这样的:

Connection con = null; 
try{ 
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    con = DriverManager.getConnection("jdbc:microsoft:sqlserver://LAPTOP-TITI;DatabaseName=PDPJ_Student", "LAPTOP-TITI/Titi", ""); 
    } 
    catch(Exception e){ 
    System.out.println("Error at connection"); 
    e.printStackTrace(); 
    } 

当我启动MS SQL Server,请在authenticatin,服务器名称说:笔记本电脑TITI;并将身份验证设置为Windows身份验证。用户名字段说LAPTOP-TITI/Titi,但它被禁用,以及密码字段,它是空的。

我也曾尝试:

con = DriverManager.getConnection("jdbc:microsoft:sqlserver://LAPTOP-TITI;DatabaseName=PDPJ_Student", integratedSecurity=true); 

,但仍然没有..

我在做什么错?你能给我一些指示吗?

PS我不能改变我的身份验证类型,即使我尝试更改为SQL Server身份验证,它不`吨让我产生任何新用户

回答

1

你的问题没有提及是否您的客户机运行Windows或非Windows。 This topic on MSDN表明,如果您的客户端使用的是Linux,则需要购买DataDirect驱动程序才能使Kerberos身份验证正常运行。如果你在Windows上,应该可以使用微软的JDBC驱动程序。

+0

它运行在Windows XP下,我将项目的类路径设置为msbase.jar,mssqlserver.jar和msutil.jar ....这应该足以让Java与MS SQL Server一起工作 – Liviu 2010-11-04 18:08:56