首先是下了一个mssqlserver.jar,然后按网上搜出来的写法:
<%
import com.microsoft.sqlserver.jdbc.*;
import com.microsoft.jdbc.sqlserver.*;
//数据库用户名
String userName="sa";
//密码
String userPasswd="123456";
String dbName="kydaydb";
String url="jdbc:microsoft:sqlserver://localhost:DatabaseName="+dbName;
String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Connection connection=(Connection) DriverManager.getConnection(url,userName,userPasswd);
Statement statement = (Statement) connection.createStatement();
}catch(Exception e){
out.print(e.toString());
}
%>
错误发生在Class.forName(...)这一段,主要的错误信息是: java.lang.NoClassDefFoundError: com/microsoft/jdbc/base/BaseDriver
就是说BaseDriver这个驱动找不到了吧,于是查资料查资料,看到有人说要三个驱动包:
msbase.jar
msutil.jar
mssqlserver.jar(之前我只下了这个,看本文开头)
下了另外两个包后,再运行,还报错,详细的错误信息我记不得了,但我留意到当中有“SqlServer2000“的内容,而我用的是SqlServer2008,确定还是驱动信息不符,再查资料查资料查资料,查到一篇介绍2000和2005/2008不同的驱动代码写法(我转载到自己的博客里了:http://blog.youkuaiyun.com/velly/article/details/6713585),改:
//连接字符串
String url="jdbc:sqlserver://localhost:DatabaseName="+dbName;
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
再运行,终于OK了!
再后来,为了用ResoultSet修改数据又折腾了十几分钟(看http://blog.youkuaiyun.com/velly/article/details/6713470)终于全部搞定了,一看时间:00:00!睡觉