Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да се свържете с Oracle като SYS от SQL*Plus в Java

Вие предавате цялата информация за връзката като една стойност; еквивалентно на това от командния ред:

sqlplus "sys as sysdba/[email protected]<connect_string>"

което ще получи същия отговор за отпечатване на помощта за влизане в SQL*Plus. Освен това имате паролата си на грешното място, но не стигате толкова далеч. От командния ред това ще работи:

sqlplus "sys/tiger" "as" "[email protected]<connect_string>"

така че трябва да подадете 5 аргумента към ProcessBuilder , нещо като:

    String sqlCmd = "sqlplus";  
    String arg1   = "sys/tiger";
    String arg2   = "as";
    String arg3   = "[email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hostname)(Port=PORT ID))(CONNECT_DATA=(SID=SID)))";
    String arg4   = fileName;
    ...
        ProcessBuilder pb = new ProcessBuilder(sqlCmd, arg1, arg2, arg3, arg4);

Това все още ще работи само ако вашата среда е конфигурирана да позволява отдалечена връзка като sysdba . Правене на нещо като sys трябва да е много рядко и да имате скрипт, който искате да стартирате като sys изглежда достатъчно необичайно, за да изглежда обвивката на Java като излишък - и изглежда, че може да се свържете като sys рутинно, което не е добра идея - но може би това е просто учебно упражнение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обектът на Oracle в рамката на VS entity не актуализира първичния ключ в кода

  2. Генерирайте период от време от две колони за дати

  3. Метапрограмиране на oracle sql select оператор

  4. ORA-01792:максималният брой колони в таблица или изглед е 1000 грешка при използване на WITH в sql

  5. Защо не можем да използваме силен референтен курсор с динамичен SQL оператор?