JSP 用JDBC-ODBC桥连接数据库,连接不成功

mufeng0729 2008-05-19 06:23:46
我的JSP代码是这么写的,自已实在找不出有什么错误了,请高手指点
<%@ page contentType = "text/html;charset=GB2312"%>
<%@ page import = "java.sql.*"%>

<HTML>
<BODY>
<%
Connection con;
Statement sql;
ResultSet rs;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
out.print("right???");
}
try
{
con = DriverManager.getConnection("jdbc:odbc:stu","user","pwd");
sql = con.createStatement();
rs = sql.executeQuery("SELECT * FROM students");
out.print("<Table border>");
out.print("<tr>");
out.print("<th width = 100>"+"学号");
out.print("<th width = 100>"+"姓名");
out.print("</tr>");
while(rs.next())
{
out.print("<tr>");
out.print("<td>"+rs.getInt(1)+"</td>");
out.print("<td>"+rs.getString(2)+"</td>");
out.print("</tr>");
}
out.print("</table>");
con.close();
}
catch(SQLException e)
{

}
%>
</BODY>
</HTML>


用Java Application程序,java -cp . SQL可以连上.不知道JSP要怎么才能连
...全文
230 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanghai921 2008-05-20
  • 打赏
  • 举报
回复
我给你写了个程序,你连一下
最好不要在页面里直接连数据库,单独建个类来连,可以代码重用
package MyBean;
import java.sql.*;
public class dbcon
{

String user="user";
String password="pwd";
String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String connectURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu";
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;

public dbcon()
{

try{
Class.forName(driverName);
conn=DriverManager.getConnection(connectURL,user,password);
conn.setAutoCommit(true);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);



}
catch(Exception e)
{
System.out.println("数据库连接错误"+e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try{
sql = con.createStatement();
rs = sql.executeQuery("SELECT * FROM students");
out.print(" <Table border>");
out.print(" <tr>");
out.print(" <th width = 100>"+"学号");
out.print(" <th width = 100>"+"姓名");
out.print(" </tr>");
while(rs.next())
{
out.print(" <tr>");
out.print(" <td>"+rs.getInt(1)+" </td>");
out.print(" <td>"+rs.getString(2)+" </td>");
out.print(" </tr>");
}
out.print(" </table>");
con.close();

}
catch(SQLException ex)
{
System.out.println("数据库查询错误"+ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)
{
try{
int i=stmt.executeUpdate(sql);
return i;
}
catch(SQLException ex)
{
System.out.println("执行更新错误:"+ex.getMessage());
return -1;
}
}
public Connection getcon()
{
return conn;
}
}

woxingwoshu_1111 2008-05-20
  • 打赏
  • 举报
回复
我觉你的数据源有错,或则用户和密码。代码没错,你不会用桥式连接吗?
代码如下:
package MyBean;
import java.sql.*;
public class dbcon
{

String user="user";
String password="pwd";
String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String connectURL="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=stu";
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;

public dbcon()
{

try{
Class.forName(driverName);
conn=DriverManager.getConnection(connectURL,user,password);
conn.setAutoCommit(true);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);



}
catch(Exception e)
{
System.out.println("数据库连接错误"+e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try{
sql = con.createStatement();
rs = sql.executeQuery("SELECT * FROM students");
out.print(" <Table border>");
out.print(" <tr>");
out.print(" <th width = 100>"+"学号");
out.print(" <th width = 100>"+"姓名");
out.print(" </tr>");
while(rs.next())
{
out.print(" <tr>");
out.print(" <td>"+rs.getInt(1)+" </td>");
out.print(" <td>"+rs.getString(2)+" </td>");
out.print(" </tr>");
}
out.print(" </table>");
con.close();

}
catch(SQLException ex)
{
System.out.println("数据库查询错误"+ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)
{
try{
int i=stmt.executeUpdate(sql);
return i;
}
catch(SQLException ex)
{
System.out.println("执行更新错误:"+ex.getMessage());
return -1;
}
}
public Connection getcon()
{
return conn;
}
}

KKK2007 2008-05-19
  • 打赏
  • 举报
回复
odbc院要设置正确
upshine86 2008-05-19
  • 打赏
  • 举报
回复
我写了一个,贴给你!package dao;

import java.sql.Connection;
import java.sql.DriverManager;

class DataSource {

Connection con = null;

public Connection open() {
final String url = "jdbc:odbc:student";//student换成访问的数据库名字
final String Driver = "sun.jdbc.odbc.JdbcOdbcDriver";
try {
Class.forName(Driver);
} catch (ClassNotFoundException e) {
System.err.println("加载数据库驱动出现异常");
System.out.println(e.toString());
}
try {
con = DriverManager.getConnection(url);
return con;
} catch (java.sql.SQLException e) {
System.out.println(e.toString());
return null;
}
}

public void close() {
if (con != null) {
try {
con.close();
} catch (java.sql.SQLException e) {
System.out.println(e.toString());
con = null;
}
}
}

}

楼主怎么在页面里写连接代码!
lblxiaoyu 2008-05-19
  • 打赏
  • 举报
回复
con = DriverManager.getConnection("jdbc:odbc:stu","user","pwd");

先确认数据源名字“stu”是否正确,如果正确,再测试数据源连接是否成功;
以上都没有问题的话 打开查询分析器 检验用户名,密码是否正确"user","pwd"

估计楼主的问题应该出在ODBC数据源
wangshutai 2008-05-19
  • 打赏
  • 举报
回复
设置ODBC数据源的时候配置正确吗??
用户名和密码?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧