0

シンプルな JSP コードを使用して、5 つのフィールドを oracle 10g データベースに挿入しました。フォームを送信すると、「jdbc.odbc.JdbcOdbcDriver」という例外が発生します。何が問題なのか理解できません。私を助けてください。私のコードは次のとおりです。

signup.html

<html>
<head><title>Sign up</title>
<link rel="stylesheet" type="text/css" href="default.css">
<link rel="stylesheet" type="text/css" href="align.css">
<script language="javascript">
function validation(Form_obj)
{
    if(Form_obj.fnametxt.value.length==0)
    {
        alert("Please, fill up the first name!!!");

        Form_obj.fnametxt.focus();
        return false;
    }
    if(Form_obj.lnametxt.value.length==0)
    {
        alert("Please, fill up the last name!!!");

        Form_obj.lnametxt.focus();
        return false;
    }
    if(Form_obj.usrnametxt.value.length==0)
    {
        alert("Please, fill up the user name!!!");

        Form_obj.usrnametxt.focus();
        return false;
    }
    if(Form_obj.pswdtxt.value.length==0)
    {
        alert("Please, fill up the password name!!!");

        Form_obj.pswdtxt.focus();
        return false;
    }
    if(Form_obj.phonetxt.value.length==0)
    {
        alert("Please, fill up the phone number!!!");

        Form_obj.phonetxt.focus();
        return false;
    }
    return true;
}
</script>

</head>
<a href="index.html"><h1>Jobs Portal</h1></a>
<div id="sign">Sign up</div>
<center>
<form id="form" action="signup.jsp" method="post" name="signform" onSubmit="return     validation(this)">

<table border="3" cellpadding="0" cellspacing="0">
<tr><td>
<table>
<tr><td colspan="2" align="center">Fill your details</td></tr>
<tr><td colspan="2">&nbsp;</td></tr>
<tr><td>First Name</td><td><input type="text" name="fnametxt"></td></tr>
<tr><td>Last Name</td><td><input type="text" name="lnametxt"></td></tr>
<tr><td>User Name</td><td><input type="text" name="usrnametxt"></td></tr>
<tr><td>Password</td><td><input type="password" name="pswdtxt"></td></tr>
<tr><td>Mobile no.</td><td><input type="text" name="phonetxt"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="signbt" value="Sign up" >                                 </td></tr>
</td></tr>
</table>
</form>
</center>
</html>

signup.jsp

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

try
{
    ResultSet rs=null;
            Class.forName("jdbc.odbc.JdbcOdbcDriver");
        Connection con=    DriverManager.getConnection("jdbc:oracle:jobsportal","abdus","jbaat");
        Statement stmt=con.createStatement();
    String fname=request.getParameter("fnametxt");
    String lname=request.getParameter("lnametxt");
    String usrname=request.getParameter("usrnametxt");
    String pswd=request.getParameter("pswdtxt");
    String phone=request.getParameter("phonetxt");
    stmt.executeUpdate("insert into jobs(fname,lname,username,password,phone)     values('"+fname+"','"+lname+"','"+usrname+"','"+pswd+"','"+phone+"'");
    rs=stmt.executeQuery("select * from jobs");
%>
<html>
<head><title>Sign up Successful</title>
<link rel="stylesheet" type="text/css" href="default.css">
</head>
Your details</br>
<table border="0">
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>User Name</th>
<th>Password</th>
<th>Phone number</th>
</tr>
<%
while(rs.next())
{
%>
<tr>
<td><%=rs.getString("fname")%></td>
<td><%=rs.getString("lname")%></td>
<td><%=rs.getString("username")%></td>
<td><%=rs.getString("password")%></td>
<td><%=rs.getString("phone")%></td>
</tr>
<% rs.close();
}}
catch(ClassNotFoundException e)
{
    out.println(e.getMessage());
} %>
</table>

</html>
4

2 に答える 2

0

JDBC/ODBC ドライバーを使用して Oracle データベースに接続しています。そして、間違ったクラス名を使用してロードしました。正しいクラス名はsun.jdbc.odbc.JdbcOdbcDriver.

JDBC/ODBC ドライバーは、データベースにネイティブの JDBC ドライバーがまだなかった何年も前に作成された古い、時代遅れのドライバーです。データベースが Oracle の場合は、JDBC/ODBC ドライバーではなく、Oracle JDBC ドライバーを使用します。Oracle ドライバーのドキュメントに記載されている別の URL を使用する必要があります。

于 2013-07-21T17:04:00.253 に答える
0

ドライバ名に問題がある可能性があります。Oracle ドライバを使用している場合は、Oracle シン ドライバか、oci または kprb かを指定する必要があります。例えば、

オラクルの場合:

Jdbc Driver Name=" oracle.jdbc.driver.OracleDriver" (システムにある場合)

URL フォーマット=" jdbc:oracle:thin:@hostname:port Number:databaseName"

Odbc の場合:

Odbc ブリッジ=" sun.jdbc.odbc.JdbcOdbcDriver"

URL フォーマット=" jdbc:odbc:dsn_name"

于 2013-07-22T05:29:01.317 に答える