连接代码如下:String url="jdbc:odbc:demo";
String query="SELECT * FROM Student";
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(java.lang.ClassNotFoundException e){
}try{
DriverManager.setLogStream(System.out);
Connection con=DriverManager.getConnection(url,"sys","orcl");
Statement st=con.createStatement();
st.getResultSet();报错如下:
java.sql.SQLException: [Microsoft][ODBC driver for Oracle][Oracle]ORA-28009: connection to sys should be as sysdba or sysoper
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.isoftstone.biz.Student.main(Student.java:21)
Closing connection (SQLFreeConnect), hDbc=50664848
Closing environment (SQLFreeEnv), hEnv=50664680getConnection(url,"sys","orcl")只有3个参数, 错误的意思是要sys以系统管理员的身份登录,请问怎么把身份也传进去呢??
在线等 谢谢
String query="SELECT * FROM Student";
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(java.lang.ClassNotFoundException e){
}try{
DriverManager.setLogStream(System.out);
Connection con=DriverManager.getConnection(url,"sys","orcl");
Statement st=con.createStatement();
st.getResultSet();报错如下:
java.sql.SQLException: [Microsoft][ODBC driver for Oracle][Oracle]ORA-28009: connection to sys should be as sysdba or sysoper
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.isoftstone.biz.Student.main(Student.java:21)
Closing connection (SQLFreeConnect), hDbc=50664848
Closing environment (SQLFreeEnv), hEnv=50664680getConnection(url,"sys","orcl")只有3个参数, 错误的意思是要sys以系统管理员的身份登录,请问怎么把身份也传进去呢??
在线等 谢谢
但是你的sys本来就是管理员DBA啊
url应该这么写吧?
jdbc:oracle:thin:@localhost:1521:demo
String url="jdbc:odbc:demo";
String query="SELECT * FROM Student"; try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(java.lang.ClassNotFoundException e){ }try{
DriverManager.setLogStream(System.out);
Connection con=DriverManager.getConnection(url,"sys","orcl"); Statement st=con.createStatement();
st.getResultSet(); 还有回2楼的,我用了一个可以用normal登录的账号试了下,结果还是报错 错误提示还是乱码:java.sql.SQLException: [Microsoft][ODBC ??????????] ??Ϣ????Խ??
public static void main(String[] args) {
String url="jdbc:odbc:demo";
String query="SELECT * FROM test";
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(java.lang.ClassNotFoundException e){
}try{
DriverManager.setLogStream(System.out);
Connection con=DriverManager.getConnection(url,"ZYG","ZYG");
Statement st=con.createStatement();
st.getResultSet();
}catch(SQLException e){
System.out.println("\n***SQLException caught***\n");
} }}现在有一个normal账号了 该怎么改?
参考一下这个例子,还有这个
http://www.orafaq.com/wiki/JDBC我现在没环境测试,我已经不做java了。