Properties info = new Properties();
info.put("user", "orcl");
info.put("password", "orcl");
info.put("internal_logon", "sysdba"); Class.forName("oracle.jdbc.driver.OracleDriver");
conn= DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl",info);
//conn.setAutoCommit(false); 刚装的数据库 10g ,plsql 可以登录 ,但为什么 这就报这个错愕了
java.sql.SQLException: ORA-01017: invalid username/password; logon denied at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
\
你的这个是告诉程序你的用户将用sysdba的权限访问数据库,要用这个权限的必须是SYS用户或者是具有DBA权限的用户,PL/SQL可以访问是说明你数据库能够访问,但你这个是java程序啊,java访问的话你用properties对象来访问的话,报这个错误估计是你这个对象使用的问题。你不用info.put.("internal_logon", "sysdba");这句试试。
conn= DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl",info);
你这里面的getconnection方法里面的参数中info是个对象,这里面这个参数对象在JDBC中是有问题的。
你去查一下java的api看一下这个方法具体的使用。这是你java程序的问题,不是oracle数据库的问题。
info.put("user", "SA");
info.put("password", "SA");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Jbpm;SelectMethod=cursor"
,info);
System.out.println("数据库连接成功");我按你的方法连接SQL SERVER没问题啊
我试过了 sys 用户也不行 不知道 为什么
plsql orcl orcl orcl sysdba 可以登录的
dos下输入
sqlplus orcl/orcl
sqlplus orcl/orcl
C:\Documents and Settings\hejinxi>sqlplus orcl/orclSQL*Plus: Release 10.2.0.1.0 - Production on 星期四 1Copyright (c) 1982, 2005, Oracle. All rights reserveERROR:
ORA-01017: invalid username/password; logon denied
这是什么问题哦