CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

请教各位一个问题:本地的ORACLE数据库怎么和JSP相连

楼主feilongy(创生)2003-09-01 17:38:43 在 Oracle / 开发 提问

我做了几周了都没有解决这个问题  
    我在JSP里用了下面的代码,并且在ORACLE数据库里已经建好了表TEST  
  而且在odbc里也配好了  
  但是就是连不上,请教各位,并且帮忙解决一下  
   
  <%@   page   contentType="text/html;   charset=gb2312"   language="java"   import="java.sql.*"   errorPage=""   %>  
  <!--首先导入一些必要的packages-->  
                    <%@   page   info="database   handler"%>  
                      <%@   page   import="java.io.*"%>  
                    <%@   page   import="java.util.*"%>  
   
                      <!--告诉编译器使用SQL包-->    
                        <%@   page   import="java.sql.*"%>  
   
                        <%@   page   import="javax.servlet.*"%>  
                        <%@   page   import="javax.servlet.http.*"%>  
  <html>  
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <title>无标题文档</title>  
  </head>  
   
  <body>  
  <%  
                      //以try开始  
            try  
  {  
  Connection   con;  
  Statement   stmt;  
  ResultSet   rs;  
   
  //加载驱动程序,下面的代码为加载JDBD-ODBC驱动程序  
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();  
   
  //用适当的驱动程序连接到数据库,test"是系统dsn名  
  String   url="jdbc:odbc:test";  
  //String   url="jdbc:oracle:thin:@10.0.13.96:1521:oracle";  
    //thin:@localhost:1521:orcl";    
     
  //建立连接,类似于ASP中的创建数据库联接  
  con=DriverManager.getConnection(url,   "user1",   "ww");  
   
  //创建一个JDBC声明  
  stmt   =   con.createStatement();  
   
  //增加新记录  
  stmt.executeUpdate("INSERT   INTO   test   (a,b)   VALUES   (1,'2')");  
   
  //查询记录  
  rs   =   stmt.executeQuery("SELECT   a,b   from   test");  
   
  //输出查询结果  
  out.println("<table   border=1   width=400>");  
  while   (rs.next())  
  {  
  String   col1   =   rs.getString(1);  
  String   col2   =   rs.getString(2);  
  //打印所显示的数据  
  out.println("<tr><td>"+col1+"</td><td>"+col2+"</td></tr>");  
  }  
  out.println("</table>");  
  }  
   
  //如果加载时出错,给出相应的错误信息  
  catch   (Exception   e)   {  
  e.printStackTrace()   ;  
  }  
   
  %>  
     
  </body>  
  </html>  
   
  问题点数:100、回复次数:3Top

1 楼glucose(glucose)回复于 2003-09-02 20:40:52 得分 30

一般用thin   jdbc,你把错误详细贴出来  
  不过,你应该在JSP版面上提问Top

2 楼Strawberry79(永远的草莓地!)回复于 2003-09-03 10:13:34 得分 30

你用这个BEAN测一下吧!  
   
   
  /**  
    *   功能:此类用于操作数据库  
    */  
   
  import   java.sql.*;  
  import   oracle.jdbc.driver.*;  
   
  public   class   clsDB   {  
  //初始化变量  
  String   sDBDriver   =   "";  
  String   sConnStr   =   "";  
  String   sHint   =   "";  
  String   Username="";  
  String   Pwd="";  
  ResultSet   rs   =   null;  
  Connection   conn   =   null;  
  Statement   stmt   =   null;  
   
  /*得到状态提示*/  
  public   String   getHint()  
  {  
  return   sHint;  
  }  
   
  /*设置驱动连接串*/  
  public   void   setDBDriver(String   s)  
  {  
  sDBDriver   =   ""   +   s;  
          }  
   
  /*获得驱动连接串*/  
  public   String   getDBDriver()  
  {  
  return   sDBDriver;  
  }  
   
  /*获得连接字符串*/  
  public   String   getConnStr()  
  {  
  return   sConnStr;  
  }  
   
  //初始化数据库  
  public   boolean   Initialiaztion(String   dbDrive,String   dbConn,String   dbUser,String   dbPwd)  
  throws   InstantiationException,   IllegalAccessException  
  {  
  sDBDriver   =   dbDrive;  
  sConnStr   =   dbConn;  
  Username   =   dbUser;  
  Pwd   =   dbPwd;  
  return   Initialiaztion();  
   
  }  
  public   boolean   Initialiaztion()  
  throws   InstantiationException,   IllegalAccessException  
  {  
  try  
  {  
  Class.forName(sDBDriver).newInstance();  
  sHint   =   "Initialization   sucessfully!";  
  return   true;  
  }  
  catch(ClassNotFoundException   e){  
  sHint   =   "Initialization:"+e.getMessage()+"失败!";  
  return   false;  
  }  
  }  
   
  //运行SQL段代码获取记录集  
  public   ResultSet   ExecuteQuery(String   sql)  
  {  
  rs   =   null;  
  try{  
  DriverManager.registerDriver(new   OracleDriver());  
  conn   =   DriverManager.getConnection(sConnStr,Username,Pwd);  
  stmt   =   conn.createStatement();  
  rs   =   stmt.executeQuery(sql);  
  }  
  catch(SQLException   ex)  
  {  
  sHint   =   "ExecuteQuery:"   +   ex.getMessage();  
  }  
   
  return   rs;  
  }  
   
  //运行不返回记录集的SQL代码  
  public   boolean   ExcuteUpdate(String   sql)  
  {  
  try{  
  conn   =   DriverManager.getConnection(sConnStr);  
  stmt   =   conn.createStatement();  
  stmt.executeUpdate(sql);  
  return   true;  
  }  
  catch(SQLException   ex)  
  {  
  sHint   =   "ExecuteQuery:"   +   ex.getMessage();  
  return   false;  
  }  
  }  
   
  //关闭连接  
  public   boolean   closeConn()  
  {  
  try  
  {  
  if   (rs!=null)   rs.close();  
  if   (stmt!=null)   stmt.close();  
  if   (conn!=null)   conn.close();  
  return   true;  
  }  
  catch(SQLException   ex)  
  {  
  sHint   =   "ExecuteQuery:"   +   ex.getMessage();  
  return   false;  
  }  
  }  
   
  }Top

3 楼Strawberry79(永远的草莓地!)回复于 2003-09-03 10:18:00 得分 40

<%@   page   language="java"   %>  
  <%@   page   contentType="text/html;charset=GB2312"%>  
  <%@   page   import="java.sql.*"%>  
  <%@   page   import="clsDB"%>  
   
   
  <jsp:useBean   id="commonDBBean"   class="clsDB"   scope="session"/>  
  <html>  
  <head>  
  <title>测试数据库操作</title>  
  </head>  
  <body   bgcolor="#FFFFFF">  
  <%  
  if   ((request.getParameter("DBDriver")==null)||  
          (request.getParameter("ConnStr")==null)||  
          (request.getParameter("SQLStr")==null)||  
          (request.getParameter("Username")==null)||  
          (request.getParameter("Pwd")==null))  
          {  
  %>  
  <form   method=get>  
  输入数据库驱程:<input   type="text"   name="DBDriver"   size="40"   value="oracle.jdbc.driver.OracleDriver"><BR>  
  输入连接串:<input   type="text"   name="ConnStr"   size="30"   value="java:oracle:thin:@10.0.13.96:1521:ocrl"><BR>  
  用户名:<input   type="text"   name="Username"   value="user1">  
  密码:<input   type="text"   name="Pwd"   value="ww"><BR>  
  测试的SQL串:<input   type="text"   name="SQLStr"   size="30"   value="SELECT   a,b   from   test"><BR>  
  <input   type=submit   value="提交">  
  </form>  
  <%  
          }else{  
  if(!commonDBBean.Initialiaztion(request.getParameter("DBDriver"),  
  request.getParameter("ConnStr"),  
  request.getParameter("Username"),  
  request.getParameter("Pwd"))){  
   
  out.println(commonDBBean.getHint()+"<br>");  
  out.println(commonDBBean.getConnStr()+"不行呀!<br>");  
  }else{  
  ResultSet   rs;  
  rs   =   commonDBBean.ExecuteQuery(request.getParameter("SQLStr"));  
  int   j=   rs.getMetaData().getColumnCount();  
  out.println(j+"columns!");  
   
  %>  
  <table   border=1>  
  <tr>  
  <%  
  for(int   i=1;i<=j;++i){  
  %>  
  <td><%=rs.getMetaData().getColumnName(i)%></td>  
   
  <%  
                                                                                  }  
  %>  
                                                                  </tr>  
  <%  
  //Print   record   content  
  while   (rs.next())  
  {  
  out.println("<tr>");  
  for(int   i   =1;i<=j;++i)  
  {  
  out.println("<td>"+rs.getString(i)+"</td>");  
   
  }  
  out.println("</tr>");  
  }  
  %>  
  </table>  
  <%  
   
  }  
          }  
   
          if(!commonDBBean.closeConn()){  
          out.println(commonDBBean.getHint()+"<br>");  
          }  
  %>  
   
   
  </body>  
  </html>Top

相关问题

  • jsp中用jdbc调用oracle数据库
  • JSP连Oracle数据库的问题
  • JSP与Oracle数据库连接??
  • JSP中连接oracle数据库
  • JSP+comcat,怎么连接ORACLE数据库???
  • 请问怎样和oracle数据库相连接 (100分相送)
  • jsp用jdbc:oracle:thin直接连接oracle数据库的问题
  • jsp向oracle数据库插入图片出错!急!为什么?
  • 如何用jsp实现oracle数据库中的文件下载??
  • 请问jsp怎么才能连接Oracle数据库

关键词

得分解答快速导航

  • 帖主:feilongy
  • glucose
  • Strawberry79
  • Strawberry79

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo