32

次のエラーが表示されます。

java.sql.SQLException: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

直し方?(私はする必要がありますSYS)。ありがとう。

4

9 に答える 9

41

これを試して :

import java.sql as jsql
import java.lang as lang
driver, url, user, passwd = (
"oracle.jdbc.driver.OracleDriver",
"jdbc:oracle:thin:@localhost:1234:xxx1",
"sys as sysdba",
"xxx1")
 lang.Class.forName(driver)
 c = jsql.DriverManager.getConnection(url,user,passwd)
于 2012-04-11T18:04:20.893 に答える
8

このコードは機能します

String driverName = "oracle.jdbc.driver.OracleDriver";
Class.forName(driverName).newInstance();
String nameForConnect = "sys as sysdba";
String pass = "password";
String url = "jdbc:oracle:thin:@192.168.0.1:1521:ORCL";
Connection conn = DriverManager.getConnection(url, nameForConnect, pass);
于 2012-04-11T17:56:34.397 に答える
5

次のようにデータベースに接続しようとした場合:connect SYS/<password>無効な構文を使用しています (Oracle 9i 以降)。

代わりに、次のように接続してみてください。

connect SYS/<password> as SYSDBA or connect SYS/<password> as SYSOPER
于 2012-04-11T07:29:43.360 に答える
1

OracleDataSource オブジェクトを使用できますか?

public class Database {    
    static OracleDataSource ods;    
    public static Connection openConnection(String URL, String user, String password,     String option) throws SQLException
    {
            Connection conn = null;
            Properties properties = new Properties();
            properties.put("user", user);
            properties.put("password", password);

            ods = new OracleDataSource();
            ods.setURL(URL);

            if(option != null)
            {
                properties.put("internal_logon", option);
            }

            ods.setConnectionProperties(properties);
            conn = ods.getConnection();

            return conn;
    }
}

そして、次のように呼び出します。

Connection con = null;    
con = Database.openConnection("YourJDBCConnectionURL", "YourSYSUser", "YourSYSPassword", "sysdba");
于 2012-04-12T11:16:52.200 に答える