加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ORA-01017: invalid username/password; logon denied 处理方法

(2012-08-19 20:24:39)
标签:

oracle数据库

程序源代码

用户管理

新闻信息

命令行

杂谈

分类: JDBA
今天使用
JDBC连接oracle数据库,出现如下错误:

java.sql.SQLException: ORA-01017: invalid username/password; logon denied

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382)
    at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:573)
    at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:431)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
    at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:366)
    at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:752)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:366)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at com.pd.news.dao.NewsDao.getNewsList(NewsDao.java:27)
    at com.pd.news.dao.NewsDao.main(NewsDao.java:63)
Exception in thread "main" java.lang.NullPointerException
    at com.pd.news.dao.NewsDao.getNewsList(NewsDao.java:51)
    at com.pd.news.dao.NewsDao.main(NewsDao.java:63)

程序源代码如下:
package com.pd.news.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;

public class NewsDao {
    //查询新闻信息
    public void getNewsList(){
        Connection connection =null;
        Statement stmt = null;
        ResultSet rs=null;
        String url="jdbc:oracle:thin:@localhost:1521:XE";
       
        try {
            //1.Class.forName()加载驱动
        //    Class.forName("oracle.jdbc.dricer.OracleDriver");
           
            DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

            System.out.println("lkfhd[goiah");
           
            //2.DriverManager.getConnection(URL,用户名,密码)获得数据库连接
            connection =  DriverManager.getConnection(url, "scott", "tiger");

   
            //3.获得Statement对象,执行SQL语句
            String sql="select * from new_detail";
            stmt= connection.createStatement();
            rs = stmt.executeQuery(sql);           
            //处理执行结果(ResultSet)
            while(rs.next()){
                int id = rs.getInt("id");
                String title = rs.getString("title");
                String summary=rs.getString("summary");
                String content=rs.getString("content");
                String author=rs.getString("author");
                Timestamp time=rs.getTimestamp("createdate");
                System.out.println(id+"\t"+title+"\t" +summary+"\t"+content+"\t"+author+"\t"+time);
            }
               
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            //释放资源               
                try {
                    rs.close();
                    stmt.close();
                    connection.close();       
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
        }
    }
    //测试
    public static void main(String [] args){
        NewsDao newsDao = new NewsDao();
        newsDao.getNewsList();
    }
}

问题:


无效的用户名和密码,可拒绝访问
和你显然这事一个典型的sysdba登陆问题

(我猜可能是被锁住了。
oracle 数据库每一个月就对用户加锁,用户要登陆oracle 数据库首页[system/自设的口令] ——〉管理——〉用户管理——〉设置用户为“未锁定”——〉然后进入命令行——〉connect——〉OK!
如果此方法不行,在试一试下面的吧。)

上面这个解放方案太烂了,根本没看懂,网上搜的

解决方案:
新建一个用户,并授权,之后就搞定了










0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有