sql >> Databáze >  >> RDS >> Oracle

Jak se připojit k Oracle jako SYS z SQL*Plus v Javě

Všechny informace o připojení předáváte jako jedinou hodnotu; ekvivalentní tomuto z příkazového řádku:

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

což by získalo stejnou odezvu při tisku nápovědy k přihlášení SQL*Plus. Máte také heslo na špatném místě, ale tak daleko to nejde. Z příkazového řádku by to fungovalo:

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

takže musíte předat 5 argumentů do ProcessBuilder , něco jako:

    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);

Toto bude stále fungovat, pouze pokud je vaše prostředí nakonfigurováno tak, aby umožňovalo vzdálené připojení jako sysdba . Dělat cokoliv jako sys by měl být velmi vzácný a mít skript, který chcete spustit jako sys zdá se dost neobvyklé na to, aby Java wrapper vypadal přehnaně – a vypadá to, jako byste se mohli připojit jako sys rutinně, což není dobrý nápad – ale možná je to jen cvičení.



  1. jak získat přístup ke vzdálené databázi mysql

  2. odstranit sloupec neexistuje

  3. Chyba (jednořádkový poddotaz vrací více než jeden řádek)

  4. ověření a přidání dat do db tabulky