日期:2014-05-20  浏览次数:20869 次

用windows身份访问sql2005为什么会出现错误?如何解决?
Java code
try{
            PrintWriter pw = res.getWriter();
            //访问数据库进行读取数据
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String dbURL = "jdbc:sqlserver://127.0.0.1:1433;integratedSecurity=true;DatabaseName=zeng"; 
            ct = DriverManager.getConnection(dbURL);
            ps = ct.prepareStatement("select * from memberMag;");
            rs = ps.executeQuery();
            while(rs.next()){
                pw.println("ID:" + rs.getInt(1));
                pw.println("userName:" + rs.getString(2));
                pw.println("password:" + rs.getString(3));
                pw.println("mail:" + rs.getString(4));
                pw.println("userLevel:" + rs.getString(5));
                pw.println("<br>");
                pw.println("<hr>");
            }
        }catch(Exception ee){
            ee.printStackTrace();
        }finally{
            try{
                rs.close();
                ps.close();
                ct.close();
            }catch(Exception ee){
                ee.printStackTrace();
            }
        }

上面的代码会出现错误:

2010-8-11 16:56:39 com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
警告: Failed to load the sqljdbc_auth.dll
com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(U
nknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(Unknown So】

可是如果我用的是:ct = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=zeng" , "sa" , "123");
是能够正确的输出的。

到底该怎样设置才能使用windows用户登录sql2005呢?

------解决方案--------------------
应该映入该工程中一个驱动包mssqlserver.jar 
你也可以用本地资源 
DRIVER_CLASS为“sun.jdbc.odbc.JdbcOdbcDriver” 
DB_URL 为"JDBC:ODBC:数据源名" 
数据源 是在 开始----管理工具-----数据源(ODBC) 建立一个数据源 
因为级别低 不能传照片 具体步骤在网上搜一下就可以


你的数据库是不是还需要密码啊 
你在连接是有没有把数据库打开啊 


转自百度= =!!~~~我一直都是用有用户名密码的那种//
------解决方案--------------------
去数据设置里面看是不是 
 限制了 windows登陆
------解决方案--------------------
设置下数据库属性中的安全性选择混合登录