No suitable driver是什么原因造成?如何解决?

albert 2002-04-29 05:03:00
各路大虾,小弟用JSP连接数据库(SQL SERVER和ACCESS).但总是在Tomcat的DOS窗口内显示"No suitable driver".是什么原因? 小弟是Win2000 Server + Tomcat4.0.3 + Java2sdk1.4.0+MS SQL Server2000.
源程序如下:

====================
sql_data.java:
====================

import java.sql.*;
public class sql_data
{
String sDBDriver = "sun.jdbc.odbc.JdbcObdcDriver";
String sConnStr = "jdbc:odbc:bct";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

public sql_data()
{
try
{
Class.forName(sDBDriver);
}
catch( java.lang.ClassNotFoundException e)
{
System.err.println("sql_data():" + e.getMessage());
}
}

public ResultSet executeQuery(String sql)
{
rs = null;
try
{
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:" + ex.getMessage());
}
return rs;
}


====================
employeetel.jsp:
====================

<%@ page language="java" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="sql_data" %>

<%@ page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="sqlbean" class="sql_data" scope="session" />

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>员工通信录</title>
</head>

<body>


<%! String strName, strExtension, strMobile; %>

<p> </p>

<%
ResultSet RS = sqlbean.executeQuery("SELECT * FROM EmployeeTel");
while( RS.next() )
{
strName = RS.getString( "Name" );
strExtension = RS.getString( "Extension" );
strMobile = RS.getString( "Mobile" );
%>



<%
}
RS.close();
%>


</body>

</html>





}
...全文
678 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
albert 2002-05-08
谢谢 waterdragonfly(见到PLMM就脸红)和wjfxiao(卧龙)!
  • 打赏
  • 举报
回复
albert 2002-04-30
再加20分!!
  • 打赏
  • 举报
回复
waterdragonfly 2002-04-30
如果只连接SQL SERVER的话可以用微软的JDBC fro sqlserver驱动,速度快多了。
  • 打赏
  • 举报
回复
waterdragonfly 2002-04-30
用 JDBC-ODBC桥 , 好 像 不 存 在 数 据 库 驱 动 加 载 的 问 题 (也 没 有 相 应 的 驱 动 让 你 加 载 ),你 的 DSN设 置 正 确 吗 ?
  • 打赏
  • 举报
回复
albert 2002-04-29
wjfxiao(卧龙) 大虾,估计没有加载,数据库驱动库如何加载?
  • 打赏
  • 举报
回复
wjfxiao 2002-04-29
数据库驱动库加载了吗?
  • 打赏
  • 举报
回复
albert 2002-04-29
各路大虾,小弟用JSP连接数据库(SQL SERVER和ACCESS).但总是在Tomcat的DOS窗口内显示"No suitable driver".是什么原因? 小弟是Win2000 Server + Tomcat4.0.3 + Java2sdk1.4.0+MS SQL Server2000.
源程序如下:

====================
sql_data.java:
====================

import java.sql.*;
public class sql_data
{
String sDBDriver = "sun.jdbc.odbc.JdbcObdcDriver";
String sConnStr = "jdbc:odbc:bct";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

public sql_data()
{
try
{
Class.forName(sDBDriver);
}
catch( java.lang.ClassNotFoundException e)
{
System.err.println("sql_data():" + e.getMessage());
}
}

public ResultSet executeQuery(String sql)
{
rs = null;
try
{
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:" + ex.getMessage());
}
return rs;
}

}



====================
employeetel.jsp:
====================

<%@ page language="java" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="sql_data" %>

<%@ page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="sqlbean" class="sql_data" scope="session" />

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>员工通信录</title>
</head>

<body>


<%! String strName, strExtension, strMobile; %>

<p> </p>

<%
ResultSet RS = sqlbean.executeQuery("SELECT * FROM EmployeeTel");
while( RS.next() )
{
strName = RS.getString( "Name" );
strExtension = RS.getString( "Extension" );
strMobile = RS.getString( "Mobile" );
%>



<%
}
RS.close();
%>


</body>

</html>
  • 打赏
  • 举报
回复
相关推荐
一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建 create table test(test1 varchar(20),test2 varchar(20) 然后向这个表写入一条测试纪录 一、jsp连接Oracle8/8i/9i数据库(用thin模式) testoracle.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为你的数据库的SID String user="scott"; String password="tiger"; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> 二、jsp连接Sql Server7.0/2000数据库 testsqlserver.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; //pubs为你的数据库的 String user="sa"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> 三、jsp连接DB2数据库 testdb2.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名 String user="admin"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> 四、jsp连接Informix数据库 testinformix.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%Class.forName("com.informix.jdbc.IfxDriver").newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"; //testDB为你的数据库名 Connection conn= DriverManager.getConnection(url); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> 五、jsp连接Sybase数据库 testmysql.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%Class.forName("com.sybase.jdbc.SybDriver").newInstance(); String url =" jdbc:sybase:Tds:localhost:5007/tsdata"; //tsdata为你的数据库名 Properties sysProps = System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> 六、jsp连接MySQL数据库 testmysql.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" //testDB为你的数据库名 Connection conn= DriverManager.getConnection(url); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> 七、jsp连接PostgreSQL数据库 testmysql.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%Class.forName("org.postgresql.Driver").newInstance(); String url ="jdbc:postgresql://localhost/soft" //soft为你的数据库名 String user="myuser"; String password="mypassword"; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %>
发帖
Web 开发

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
加入社区
帖子事件
创建了帖子
2002-04-29 05:03
社区公告
暂无公告