Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana menghubungkan ke Oracle sebagai SYS dari SQL*Plus di Java

Anda meneruskan semua informasi koneksi sebagai nilai tunggal; setara dengan ini dari baris perintah:

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

yang akan mendapatkan respons yang sama dengan mencetak bantuan masuk SQL*Plus. Anda juga memiliki kata sandi di tempat yang salah tetapi tidak sampai sejauh itu. Dari baris perintah ini akan berfungsi:

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

jadi Anda harus meneruskan 5 argumen ke ProcessBuilder , sesuatu seperti:

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

Ini hanya akan berfungsi jika lingkungan Anda dikonfigurasi untuk mengizinkan koneksi jarak jauh sebagai sysdba . Melakukan apa saja sebagai sys seharusnya sangat jarang, dan memiliki skrip yang ingin Anda jalankan sebagai sys tampaknya cukup tidak biasa untuk pembungkus Java tampak seperti berlebihan - dan membuatnya tampak seperti Anda mungkin terhubung sebagai sys secara rutin, itu bukan ide yang bagus - tapi mungkin ini hanya latihan pembelajaran.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bergabung terlalu lama

  2. Mencoba membangun CGO statis yang dapat dieksekusi dengan perpustakaan Oracle di Linux/Ubuntu

  3. ORA-28040:Tidak ada pengecualian protokol otentikasi yang cocok

  4. ORA-00942:tabel atau tampilan tidak ada - Oracle

  5. Bergabung dengan 3 tabel Oracle SQL