Menambahkan sumber data di weblogic 12c

Apakah ada cara untuk menambahkan sumber data menggunakan file xml di weblogic daripada menambahkannya secara manual melalui konsol. Sesuatu seperti ini:

<Resource name="DS_WFMT_DATA" auth="Container"
        type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
        url="jdbc:oracle:thin:@10.81.34.8:1526:wfmtswvu"
        username="wfmt_data" password="sa1dview"
        maxActive="150" maxIdle="20" maxWait="10000"
        removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true" />

        <Resource name="DS_DIRECTSTAFFWARE" auth="Container"
        type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
        url="jdbc:oracle:thin:@10.81.34.8:1526:wfmtswvu"
        username="swpro" password="staffpro1"
        maxActive="150" maxIdle="20" maxWait="10000" logAbandoned="true"/>

        <Resource name="DS_NIMS" auth="Container"
        type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
        url="jdbc:oracle:thin:@10.75.105.167:1521:nimsc"
        username="nims" password="nims123"
        maxActive="20" maxIdle="10" maxWait="10000"
        removeAbandoned="true" removeAbandonedTimeout="120" logAbandoned="true"/>

Saya tahu ketika saya menambahkan sumber data, ada file xml yang dihasilkan di masing-masing domain di jalur domains\base_domain\config\jdbc tetapi itu berisi kata sandi terenkripsi. Oleh karena itu ketika saya mencoba menambahkan sumber data baru menggunakan file xml yang dihasilkan dari penambahan sumber data secara manual, itu tidak dapat ditambahkan. Bantuan apa pun akan dihargai.


person Shweta Gulati    schedule 12.10.2016    source sumber


Jawaban (1)


Buat file konfigurasi sumber data baru di folder domains\base_domain\config\jdbc dengan nama file unik dalam format berikut TESTDB-1234-jdbc.xml. Biasanya MYDS adalah nama sumber data.

Buka file TESTDB-1234-jdbc.xml dan edit seperti di bawah ini. (Ingatlah untuk mengubah nilai di bawah agar sesuai dengan pengaturan Anda)

<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.2/jdbc-data-source.xsd">
  <name>TESTDB</name>
  <jdbc-driver-params>
    <url>jdbc:oracle:thin:@host:port:db</url>
    <driver-name>oracle.jdbc.OracleDriver</driver-name>
    <properties>
      <property>
        <name>user</name>
        <value>user</value>
      </property>
    </properties>
    <password-encrypted></password-encrypted>
      </jdbc-driver-params>
      <jdbc-connection-pool-params>
        <max-capacity>40</max-capacity>
        <connection-creation-retry-frequency-seconds>120</connection-creation-retry-frequency-seconds>
        <test-connections-on-reserve>true</test-connections-on-reserve>
        <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
        <init-sql>SQL SELECT 1 FROM DUAL</init-sql>
      </jdbc-connection-pool-params>
    <jdbc-data-source-params>
    <jndi-name>TESTDB</jndi-name>
    <global-transactions-protocol>OnePhaseCommit</global-transactions-protocol>
  </jdbc-data-source-params>
</jdbc-data-source>

File yang dibuat tidak memiliki kata sandi terenkripsi. Anda dapat menggunakan weblogic.security.Encrypt untuk mengenkripsi kata sandi database Anda seperti di bawah ini. Pertama-tama Anda harus memastikan Lingkungan Weblogic sudah diatur dengan masuk ke folder domains\base_domain\bin dan menjalankan perintah berikut

source ./setDomainEnv.sh

Anda sekarang dapat masuk ke folder domains\base_domain dan menjalankan judul weblogic.security.Encrypt sebagai menentukan kata sandi database sebagai berikut

java weblogic.security.Encrypt dbpassword

Anda harus berada di folder base_domain. Jika Anda menjalankannya di folder lain, Anda akan mendapatkan pengecualian

Tidak dapat menginisialisasi layanan enkripsi, verifikasi bahwa Anda berada di direktori domain atau telah menentukan nilai yang benar untuk -Dweblogic.RootDirectory

Jika Anda tidak ingin kata sandi basis data terlihat di riwayat OS Anda, tinggalkan saja saat menjalankan perintah dan Anda akan diminta untuk memberikan kata sandi. Kata sandi yang dihasilkan akan dalam format berikut

{AES}H8B3Lp73h/9XghMXUmtq5f3CRSpqAzQ0gwoOm5NHYXg=

Salin nilai ini ke dalam tag yang dienkripsi kata sandi di file konfigurasi TESTDB-123-jdbc.xml Anda sehingga tag tersebut sekarang terlihat seperti ini

<password-encrypted>{AES}H8B3Lp73h/9XghMXUmtq5f3CRSpqAzQ0gwoOm5NHYXg=</password-encrypted>

Anda telah berhasil membuat sumber data menggunakan xml tetapi sekarang Anda perlu menautkannya ke instance Weblogic. Buka folder domains\base_domain\config dan edit file config.xml. Tambahkan sumber daya sistem jdbc yang baru dikonfigurasi tepat sebelum tag domain ditutup. Ini cuplikannya

  <jdbc-system-resource>
    <name>TESTDB</name>
    <target>AdminServer</target>
    <descriptor-file-name>jdbc/TESTDB-1234-jdbc.xml</descriptor-file-name>
  </jdbc-system-resource>

Ingatlah untuk menggunakan nilai-nilai yang berlaku untuk server aplikasi Anda. Setelah selesai Anda berhasil menautkan sumber data ke Weblogic Instance namun sumber data tersebut belum aktif. Mulai ulang instans weblogic Anda agar sumber data aktif. Setelah memulai ulang, Anda dapat menguji apakah kumpulan koneksi ada dan aktif menggunakan utilitas Admin Weblogic dengan mengatur lingkungan Weblogic seperti sebelumnya dan kemudian menjalankan perintah di bawah ini

java weblogic.Admin -username weblogic -password password -url t3://localhost:port EXISTS_POOL  TESTDB

Jika kumpulan koneksi ada dan aktif, Anda akan mendapatkannya

Sudah ada pool bernama TESTDB

Jika tidak, Anda akan mendapatkan pengecualian di bawah ini

Kumpulan TESTDB tidak ada.

Anda juga dapat melakukan tes koneksi ke sumber data dengan mengatur lingkungan Weblogic seperti sebelumnya dan kemudian menjalankan perintah di bawah ini

java weblogic.Admin -username weblogic -password password -url t3://localhost:port TEST_POOL  TESTDB

Jika koneksinya ok, Anda akan mendapatkannya

Tes Koneksi JDBC Berhasil untuk kumpulan koneksi "TESTDB".

Ingat hanya karena Anda tidak berhasil menguji koneksi bukan berarti sumber data tidak ditambahkan ke Weblogic. Mungkin database tidak berjalan sehingga Anda mungkin perlu memecahkan masalah sebagaimana mestinya. Perhatikan juga bahwa Anda bisa menggunakan Admin Weblogic juga digunakan secara langsung untuk membuat sumber data. Saat menggunakan utilitas Admin Weblogic seperti di atas, kata sandi weblogic akan terlihat di riwayat Anda. Ini adalah cara Anda membuat sumber data dari file xml. Namun jauh lebih mudah menggunakan konsol Weblogic saja.

person Khetho Mtembo    schedule 12.10.2016
comment
Hai, terima kasih, ya, Anda benar karena membuat sumber data melalui konsol jauh lebih mudah. Satu pertanyaan lagi: katakanlah saya membuat sumber data dan file jdbc yang sesuai dihasilkan. Jika saya memberikan file tersebut kepada orang lain sehingga dia tidak perlu menambahkan sumber data secara manual. Akankah itu berhasil? Anda juga dapat memberi suara positif pada pertanyaan saya jika Anda mau. - person Shweta Gulati; 12.10.2016
comment
Pendekatan yang lebih baik adalah menggunakan skrip WLST untuk membuat dan menargetkan sumber data ke domain Anda. Memperbarui file konfigurasi domain secara manual bukanlah cara yang direkomendasikan dan sedikit berisiko. - person Emmanuel Collin; 12.10.2016
comment
Ya, Anda memang dapat memberikan file yang dihasilkan kepada orang lain. Mereka perlu mengganti nilai yang dienkripsi kata sandi dengan nilai yang mereka hasilkan di instance Weblogic mereka. Mereka juga perlu menautkan file sumber data yang baru disalin dan diperbarui ke instance Weblogic sesuai langkah di atas. @EmmanuelCollin benar melakukan ini dengan had agak berisiko dan menggunakan skrip WLST adalah cara lain yang baik untuk melakukannya. - person Khetho Mtembo; 13.10.2016