问题是这样的,我用pl/sql devloper可以连上,在程序中用jdbc连就报 ora-01017错误。我疯了!之前程序一直都可以连上的,中途好像把这个用户删了,重建了下。程序肯定没问题,我用程序连oracle的另外一个用户是成功的,望高手指教!谢谢

解决方案 »

  1.   

    -- 还有:产生“ora-01017:invalid username/password; logon denie"错误的情况有许多,其中原因之一是:
    -- 在Oracle被设置成要求口令文件认证(SQLNET.AUTHENTICATION_SERVICE=NONE)的情况五,却不能使用口令文件
    -- (REMOTE_LOGIN_PASSWORDFILE=NONE),这种情况就会产生ORA-01017错误。
      

  2.   

    -- 解决方法:
    -- Step 1: 修改初始化参数REMOTE_LOGIN_PASSWORDFILE。
    -- 进入初始化参数文件所在的目录。如果数据库使用的是SPFILE,则根据SPFILE生成初始化参数文件(PFILE)。
    SQL> create pfile='E:\init.ora' from spfile;-- 编辑初始化参数文件:
    将 REMOTE_LOGIN_PASSWORDFILE的值改为EXECLUSIVE或SHARED。-- 关闭数据库。
    SQL> shutdown immediate;-- 重建 SPFILE
    CREATE SPFILE FROM PFILE='E:\init.ora';-- 重启数据库:
    SQL> STARTUP;-- Step 2: 创建(重建口令文件)(在cmd下)
    orapwd FILE='D:\oracle\product\10.2.0\db_1\database\PWDsztyora.ora' PASSWORD=yourpassword ENTRIES=5-- 其中,PWDsztyora.ora是口令文件的名字,命名规则是:PWD<SID>.ora (Windows下),
    -- D:\oracle\product\10.2.0\db_1\database 是Oracle主目录(你的可能不一样)
      

  3.   

    可以确定用户,密码正确;看了下SQLNET.AUTHENTICATION_SERVICE=EXCLUSIVE的 
    继续等待高手
      

  4.   

    你把你的用户名和密码去sqlplus里去连下看看。。
      

  5.   

    -- 没有所谓的高手,问题出来了,不是坐以等待,而应该是自己去Google、百度搜索资料,自己主动的、努力的去解决问题,久而久之,你就是高手......
      

  6.   

    1.你把你现在用的用户名和密码到sqlplus连接的操作贴出来。
    2.然后你把你的jdbc连接设置也贴出来。
      

  7.   

    try一下sqlplus,是否报同样错误…