首先配置了一个数据源,测试连接成功.
然后写了一个JSP页面,在TOMCAT下运行,结果出现下面错误:org.apache.jasper.JasperException: javax.servlet.ServletException: java.sql.SQLException: No suitable driver
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)好像说是没有合适的驱动,用JDBC-ODBC方式连接oracle数据库还需要驱动程序吗?

解决方案 »

  1.   

    http://tech.it168.com/j/d/2006-05-23/200605230758703.shtml
      

  2.   

      Windows下采用JDBC-ODBC Bridge连接oracle数据库  1、 安装oracle客户端程序,在tnsnames.ora中配置好相应的数据库连接串文件,此处设连接串名为“dbora”。  2、 在windows的控制面板->“数据库源ODBC”中,建立相应的用户或者系统DSN,具体方法:在安装的数据源的驱动程序选择“Microsoft ODBC for Oracle”。  点击“完成”,在弹出的对话框中,填入如下信息:  数据源名称:dbjdbc
      描述:jdbc数据源
      用户名称:manager -此为数据库用户名
      服务器:dbora -此即为连接串名
      其中“dbjdbc”是在java程序中要引用的名字,至此数据源dbjdbc已建立。
      

  3.   

    采用JDBC-ODBC Bridge连接oracle数据库还要用安装oracle客户端(即10201_client_win32)???
    书上说OCI方式需要,而JDBC-ODBC方式没说要呐????
      

  4.   

    JDBC (Java Database Connectivity) is an API (Applications Programming Interface) that allows Java to send SQL statements to an object-relational database such as Oracle Database.The JDBC standard defines four types of JDBC drivers:    *      Type 1. A JDBC-ODBC bridge. Software must be installed on client systems.
        *      Type 2. Native methods (calls C or C++) and Java methods. Software must be installed on the client.
        *      Type 3. Pure Java. The client uses sockets to call middleware on the server.
        *      Type 4. The most pure Java solution. Talks directly to the database by using Java sockets.
      

  5.   

    你说的客户端是指oracle客户端吗?就是在oracle官方网站上下载的 10201_client_win32.zip(400多M) 解压出来的安装程序?
      

  6.   


    也需要的呀,就是最基础的那个,sun.jdbc.odbc.JdbcOdbcDriver。而且你需要配置好必要的odbc数据源。注意你的url的写法。你现在还没有到后面两部,你现在是没有加载driver。所以先来第一步吧。
      

  7.   

    这些都在JSP页面里做了呀(如下),也配置好了一个数据源,名为odbc_ora10g,测试也连接成功.
    <%
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn=DriverManager.getConnection("jdbc:odbc.odbc_ora10g","Bart","Bart");
    Statement stmt=conn.createStatement();
    ResultSet rs=stmt.executeQuery("select * from system.emp");
     %>
    然后打开TOMCAT测试时就出现了如下的错误,No suitable driver没有合适的驱动,难道还需要什么jar包吗????
    严重: Servlet.service() for servlet jsp threw exception
    java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
      

  8.   


    看你这里是出错在
    Connection conn=DriverManager.getConnection("jdbc:odbc.odbc_ora10g","Bart","Bart"); sun.jdbc.odbc.JdbcOdbcDriver是在rt.jar里的,所以不需要加载,由于是odbc,是通过odbc桥来连接oracle的,是不需要oracle的jar的。这里是你的url写错了
    "jdbc:odbc.odbc_ora10g" 改成 "jdbc:odbc:odbc_ora10g"好久不用odbc了,有点忘记了。你先试试看行不行。