sqlserver2000的jdbc驱动一定要用.exe安装一次么?
16lz
2021-01-22
我直接拷贝以前的mssqlserver.jar,msbase.jar,msutil.jar文件到我JDK的目录下:
D:\ProgramFiles\Java\jdk1.6.0_10\lib\,
并且在环境变量里注册了三个文件:
D:\ProgramFiles\Java\jdk1.6.0_10\lib\msutil.jar;D:\ProgramFiles\Java\jdk1.6.0_10\lib\mssqlserver.jar;D:\ProgramFiles\Java\jdk1.6.0_10\lib\msbase.jar;
但是运行代码好像没连上数据库。。。
以下代码在IE6运行:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@pageimport="java.sql.*"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<title>jdbcJSP</title>
</head>
<body>
<%
Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
Stringuser="sa";
Stringpa="123";
Stringquery="select*fromlichwhereNamelike'%Franck%'";
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
///////////////////////////////
try
{
Class.forName("com.jdbc.microsoft.sqlserver.SQLServerDriver").newInstance();
conn=DriverManager.getConnection(url,user,pa);
stmt=conn.createStatement();
rs=stmt.executeQuery(query);
}
catch(Exceptionex)
{
out.println(ex.getMessage());
}
////////////////////////////////
try
{
out.println("<tablewidth='100%'bordr='1'cellpadding='1'bordercolor='#000000'>");
out.println("<tr>");
out.println("<thbgcolor='#FFFFFF'align='center'>学生ID</th>");
out.println("<thbgcolor='#FFFFFF'align='center'>学生姓名</th>");
out.println("<thbgcolor='#FFFFFF'align='center'>学生性别</th>");
out.println("<tr/>");
while(rs.next())
{
out.println("<tr>");
out.println("<tdbgcolor='#FFFFFF'align='center'>"+rs.getString("ID")+"<td/>");
out.println("<tdbgcolor='#FFFFFF'align='center'>"+rs.getString("name")+"<td/>");
out.println("<tdbgcolor='#FFFFFF'align='center'>"+rs.getString("sex")+"<td/>");
out.println("<tr/>");
}
}
catch(Exceptionex)
{
out.println(ex.getMessage());
}
finally
{
try
{
rs.close();
stmt.close();
conn.close();
}
catch(Exceptionex){}
}
%>
<body/>
</html>
IE6里显示为:
com.jdbc.microsoft.sqlserver.SQLServerDriver学生ID学生姓名学生性别
null
数据库里有数据:002Francemale,但就是没有数据显示。
com.jdbc.microsoft.sqlserver.SQLServerDriver这个异常,应该就是注释中间的那段代码造成的吧?
俺是初学者,汗颜汗颜。
不需要
把那三个jar包放到相应项目下的WEB-INF\lib里试试
还有一种可能是你的Class.forName("com.jdbc.microsoft.sqlserver.SQLServerDriver")中的字符串代表的jdbc驱动路径错了
你这个驱动是老版的,新版只有一个jar文件,两种的文件结构不同...简单的办法是你用解压缩工具打开mssqlserver.jar文件,看看里面文件目录结构是不是"com.jdbc.microsoft.sqlserver.SQLServerDriver"这种顺序
我感觉是你这个错了,但老版的顺序是怎样的也记不清
D:\ProgramFiles\Java\jdk1.6.0_10\lib\,
并且在环境变量里注册了三个文件:
D:\ProgramFiles\Java\jdk1.6.0_10\lib\msutil.jar;D:\ProgramFiles\Java\jdk1.6.0_10\lib\mssqlserver.jar;D:\ProgramFiles\Java\jdk1.6.0_10\lib\msbase.jar;
但是运行代码好像没连上数据库。。。
以下代码在IE6运行:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@pageimport="java.sql.*"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<title>jdbcJSP</title>
</head>
<body>
<%
Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
Stringuser="sa";
Stringpa="123";
Stringquery="select*fromlichwhereNamelike'%Franck%'";
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
///////////////////////////////
try
{
Class.forName("com.jdbc.microsoft.sqlserver.SQLServerDriver").newInstance();
conn=DriverManager.getConnection(url,user,pa);
stmt=conn.createStatement();
rs=stmt.executeQuery(query);
}
catch(Exceptionex)
{
out.println(ex.getMessage());
}
////////////////////////////////
try
{
out.println("<tablewidth='100%'bordr='1'cellpadding='1'bordercolor='#000000'>");
out.println("<tr>");
out.println("<thbgcolor='#FFFFFF'align='center'>学生ID</th>");
out.println("<thbgcolor='#FFFFFF'align='center'>学生姓名</th>");
out.println("<thbgcolor='#FFFFFF'align='center'>学生性别</th>");
out.println("<tr/>");
while(rs.next())
{
out.println("<tr>");
out.println("<tdbgcolor='#FFFFFF'align='center'>"+rs.getString("ID")+"<td/>");
out.println("<tdbgcolor='#FFFFFF'align='center'>"+rs.getString("name")+"<td/>");
out.println("<tdbgcolor='#FFFFFF'align='center'>"+rs.getString("sex")+"<td/>");
out.println("<tr/>");
}
}
catch(Exceptionex)
{
out.println(ex.getMessage());
}
finally
{
try
{
rs.close();
stmt.close();
conn.close();
}
catch(Exceptionex){}
}
%>
<body/>
</html>
IE6里显示为:
com.jdbc.microsoft.sqlserver.SQLServerDriver学生ID学生姓名学生性别
null
数据库里有数据:002Francemale,但就是没有数据显示。
com.jdbc.microsoft.sqlserver.SQLServerDriver这个异常,应该就是注释中间的那段代码造成的吧?
俺是初学者,汗颜汗颜。
5 个解决方案
#1
不需要
把那三个jar包放到相应项目下的WEB-INF\lib里试试
还有一种可能是你的Class.forName("com.jdbc.microsoft.sqlserver.SQLServerDriver")中的字符串代表的jdbc驱动路径错了
你这个驱动是老版的,新版只有一个jar文件,两种的文件结构不同...简单的办法是你用解压缩工具打开mssqlserver.jar文件,看看里面文件目录结构是不是"com.jdbc.microsoft.sqlserver.SQLServerDriver"这种顺序
我感觉是你这个错了,但老版的顺序是怎样的也记不清
更多相关文章
- 如何将MDB (Access)文件转换为MySQL(或纯SQL文件)?
- mysql 导出数据到txt文件
- linux时间与网络同步 // tomcat、redis、mysql等开机启动//远程
- SQL SERVER日志文件已满处理方法
- MySQL——问题:mysql(5.7版本)目录下没有data文件夹
- 如何将frm格式MYD格式MYI格式文件导入MySQL中
- sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Progra
- 文件转换 - .mwb到.sql文件
- Android开发之如何读写文件