菜鸟程序员初次搭建MyEclipse与Oracle10g的环境

来源:互联网 发布:mac ps厘米改成像素 编辑:程序博客网 时间:2024/06/05 14:09

     本菜鸟纯属小白一个,野生的学渣一枚,经厉过痛苦艰辛的过程,终于把MyEclipse与Oracle之间的各种初级连接搞定,下面记录一下我遇到的各种问题,留个纪念。

     jsp测试数据库连接的代码。

<span style="font-size:14px;"><%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@ page import="java.io.*,java.sql.*,javax.sql.* ,javax.naming.*" %><%@ page contentType="text/html; charset=UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>My JSP 'MyJsp.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>    This is my JSP page. <br>    <%    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();    String url="jdbc:oracle:thin:@localhost:1521:orcl";    String user="scott";    String password="newpwd";    Connection conn= DriverManager.getConnection(url,user,password);    Statement stmt= conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);    String sql= "SELECT * FROM aaaaaa";    ResultSet rs= stmt.executeQuery(sql);    while(rs.next()){     %>     first=<%=rs.getString(1) %><br>    second=<%=rs.getString(2) %><br>    <%} %>     <%out.print("数据库操作成功"); %>     <% rs.close();     stmt.close();     conn.close();      %>  </body></html></span>
起初遇到的问题在
<span style="font-size:14px;"> Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();</span>
无法加载数据库,后来发现是classes12.zip驱动包没有加载到项目里。


接下来

<span style="font-size:14px;">   Connection conn= DriverManager.getConnection(url,user,password);</span>
怎么都连不上,报错是数据库内部的问题,后来发现第一个问题是数据库是锁着的,解锁之后,又发现登录口令过期了。。。。哭死(;´༎ຶД༎ຶ`)

解决办法是:

查看用户状态:

SQL>selectusername,account_status fromdba_users;

解锁数据库:

SQL>alter user username account unlock;

在以SYSDBA身份登陆时修改其他用户的密码,比如:

SQL> alter user username identified by newpwd;

再登陆就ok啦。但是奇怪的这期间我发现用tiger/scott这个口令登陆pl/sql还是没问题的,求大神解答。。。


继续,还没完呢~

我用的是jsp测试Oracle,结果发现编译什么的都可以通过,网页也可以显示,但就是不出结果,咋改都不出。我崩溃了一天之后决定先用Java测试一下Oracle。。。无果。。。百度大神说我取不到结果是insert之后没有commit,我的确commit了,但还是木有。期间我发现过我的表拥有者是系统,也产生过疑问,但是没多想,还以为问题在sql语句那里。后来在一位大神的启发下,我用normal的身份建立一张表(以前都是用dba的身份),结果华丽丽的取出来了。O(∩_∩)O~~

经历过以上的种种,我的数据库连接终于可以正常读取数据了,期间有好多同学帮过我,感谢他们!but,我还是想说,虽然有各种培训班会给你指导,让你在编程的道路上一帆风顺,但我觉得还不如自己解决来得实在,起码我对Oracle的各种口令有了一个基本的了解,我还是要在我野生学渣的道路上继续下去,给自己加了个油,继续学习啦~

0 0
原创粉丝点击