你有没有在ODBC里面配置DNS呢?
解决方案 »
- 100分求按时间段查询
- SQL 语句问题?
- 表名和关键字重名
- 为什么null的也没选出来
- 如何将一个表的字段内容做为,另一个表的字段名???
- 求SQL语句
- 连接sqlserver2000时出现[sqlserver 2000 driver for jdbc]error establshink socket错误
- SQLSERVER2000的数据库,一个字段设为种子ID,自加1,那么到了0XFFFFFFFF后,系统会怎么样?
- 怎么在程序中创建sql2000的关系?
- 怎样从FOXPRO数据库中导出MEMO类型字段数据到SQL7.0或ACCESSZ中
- 我现在做delphi程序,有个关于数据库的存储过程的问题请教!
- sql server 2000的sql里面字符变成日期时间格式?
有没有配置好ODBC的系统DSN呢?
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String url="jdbc:odbc:user_db";
Connection con=DriverManager.getConnection(url,"user","user");
String query="select * from student";
PreparedStatement StatementRecordset1 = ConnRecordset1.prepareStatement(query);
Error: 500
Location: /myjsp/student.jsp
Internal Servlet Error:org.apache.jasper.JasperException: Unable to compile class for JSPC:\tomcat\work\localhost_8080%2Fmyjsp\_0002fstudent_0002ejspstudent_jsp_5.java:74: 未定义变量或类名:ConnRecordset1
PreparedStatement StatementRecordset1 = ConnRecordset1.prepareStatement(query);
^
C:\tomcat\work\localhost_8080%2Fmyjsp\_0002fstudent_0002ejspstudent_jsp_5.java:83: 未定义变量或类名:result
while(result.next())
^
C:\tomcat\work\localhost_8080%2Fmyjsp\_0002fstudent_0002ejspstudent_jsp_5.java:86: 未定义变量或类名:result
out.println(""+result.getString("studentNo")+"");
^
C:\tomcat\work\localhost_8080%2Fmyjsp\_0002fstudent_0002ejspstudent_jsp_5.java:87: 未定义变量或类名:result
out.println(""+result.getString("studentName")+"");
^
C:\tomcat\work\localhost_8080%2Fmyjsp\_0002fstudent_0002ejspstudent_jsp_5.java:88: 未定义变量或类名:result
if (result.getBoolean("StudentSex")==true)
^
C:\tomcat\work\localhost_8080%2Fmyjsp\_0002fstudent_0002ejspstudent_jsp_5.java:108: 未定义变量或类名:result
out.println(""+result.getString("studentAge")+"");
^
C:\tomcat\work\localhost_8080%2Fmyjsp\_0002fstudent_0002ejspstudent_jsp_5.java:109: 未定义变量或类名:result
out.println(""+result.getString("studentDept")+"");
^
7 个错误 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:612)
at org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:542)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:258)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:268)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
现在的问题是:JDK1.3 + Tomcat3.2 已经配置好了,数据库用的是 SQL SERVER 2000 还需不需要在单独安装JDBC+ODBC桥?ODBC的“系统DSN”已经通过测试,可以连接SQL SERVER ,而且SQL SERVER 已启动,Tomcat已启动。就是JSP和SQL SERVER不知道如何连接?我在CSDN上下了上面的例子作测试,出错。我不只是什么原因。请帮忙,谢谢。100分!!!
2、将下载到的jar文件放在tomcat的lib目录
3、具体代码
package Test;import java.sql.*;public class LoginMsg
{
String strLogin="sa";
String strPassword=""; String sConnStr="jdbc:inetdae7:localhost:1433?database=pubs";
Connection conn=null;
ResultSet rs=null;
Statement stmt=null; public LoginMsg()
{
try
{
Class.forName("com.inet.tds.TdsDriver").newInstance();
}
catch(Exception e)
{
e.printStackTrace();
}
} //关闭连接
public void Conn_Close()
{
try
{
stmt.close();
conn.close();
}
catch(SQLException ex)
{
System.err.println("Conn_Close: " + ex.getMessage());
}
} }
用StatementRecordset1 代替result
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:user_db";
Connection con=DriverManager.getConnection(url,"user","user");
Statement statement=con.createStatement();
String query="select * from student";
ResultSet StatementRecordset1=statement.executeQuery(query);
%>
<table border=1 cellspacing="0" cellpadding="0" bordercolordark="#ffffff" bordercolorlight="#88a6dd" width="70%" align=center>
<tr bgcolor="#88a6dd">
<td align=center> ?? </td>
<td align=center> ?? </td>
<td align=center> ?? </td>
<td align=center> ?? </td>
<td align=center> ?? </td>
</tr>
<%
while(StatementRecordset1.next())
{
out.println("</tr>");
out.println("<td align=center>"+StatementRecordset1.getString("studentNo")+"</td>");
out.println("<td align=center>"+StatementRecordset1.getString("studentName")+"</td>");
if (StatementRecordset1.getBoolean("StudentSex")==true)
%>
<td align=center>?</td>
<% else %>
<td align=center>?</td>
<% %>
<%
out.println("<td align=center>"+StatementRecordset1.getString("studentAge")+"</td>");
out.println("<td align=center>"+StatementRecordset1.getString("studentDept")+"</td>");
out.println("</td>");
}
con.close();
}catch(Exception e)
{out.println(e);}
%>
添加用户数据源,这一步,你做了么?
还是JDBC驱动程序方法?
好像JSP要调用SQL SERVER2000的时候安装JDBC的东西吧?
我看用您提到的这种方法我也测试成功,那么为什么还要安装JDBC驱动程序哪?
注:win2000server\ms sql server 2000\resin