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呢?

解决方案 »

  1.   

    应该映入该工程中一个驱动包mssqlserver.jar 
    你也可以用本地资源 
    DRIVER_CLASS为“sun.jdbc.odbc.JdbcOdbcDriver” 
    DB_URL 为"JDBC:ODBC:数据源名" 
    数据源 是在 开始----管理工具-----数据源(ODBC) 建立一个数据源 
    因为级别低 不能传照片 具体步骤在网上搜一下就可以
    你的数据库是不是还需要密码啊 
    你在连接是有没有把数据库打开啊 
    转自百度= =!!~~~我一直都是用有用户名密码的那种//
      

  2.   

    去数据设置里面看是不是 
     限制了 windows登陆
      

  3.   

    上面说的都不能解决。
    回复#1:你这样是使用ODBC我用的是JDBC,这个我倒是会,但是用在学校的不多,
    如果DB用了PWD我就不能用sa不直接连了,况且除了ACCESS DB 其他的DB好像都没设置PWD的。回复#2 没有限制,我连登录WINDOWS的密码都是空的而且是administrator用户。
      

  4.   

    回上面。。
    能够用SA用户登录就是代表使用的是混合登录,
    再说不设置应该windows用户也能登上的。
      

  5.   

    难道这个驱动对于windows登录没有对应的class???不是吧???这么郁闷???