sql >> Database teknologi >  >> RDS >> Oracle

Sådan opretter du forbindelse til Oracle som SYS fra SQL*Plus i Java

Du sender alle forbindelsesoplysningerne som en enkelt værdi; svarende til dette fra en kommandolinje:

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

som ville få det samme svar ved at udskrive SQL*Plus logon-hjælpen. Du har også din adgangskode på det forkerte sted, men det kommer ikke så langt. Fra en kommandolinje ville dette fungere:

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

så du skal sende 5 argumenter til ProcessBuilder , noget som:

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

Dette vil stadig kun fungere, hvis dit miljø er konfigureret til at tillade fjernforbindelse som sysdba . Gør hvad som helst som sys bør være meget sjælden og have et script, du vil køre som sys virker usædvanligt nok til, at en Java-indpakning virker som overkill - og får det til at virke, som om du måske forbinder som sys rutinemæssigt, hvilket ikke er en god idé - men måske er dette bare en læringsøvelse.



  1. Zip-fil til bytes Python 3

  2. understregning i php db variabel forårsager problemer

  3. Hvad svarer til timestamp/rowversion (SQL Server) med PostgreSQL

  4. Entity Framework og flere skemaer