Bagikan melalui


Membuat file skrip (AccessToSQL)

Langkah pertama sebelum meluncurkan aplikasi konsol SSMA adalah membuat file skrip dan jika diperlukan membuat file nilai variabel dan file koneksi server.

File skrip dapat dibagi menjadi tiga bagian, viz..,:

  1. config: Memungkinkan pengguna untuk mengatur parameter konfigurasi untuk aplikasi konsol.

  2. server: Memungkinkan pengguna untuk mengatur definisi server sumber/target. Ini juga dapat berada dalam file koneksi server terpisah.

  3. script-commands: Memungkinkan pengguna menjalankan perintah alur kerja SSMA.

Setiap bagian dijelaskan secara rinci di bawah ini:

Mengonfigurasi pengaturan konsol Access

Konfigurasi skrip ditampilkan dalam file skrip konsol.

Jika salah satu elemen ditentukan dalam simpul konfigurasi, elemen tersebut ditetapkan sebagai pengaturan global yaitu berlaku untuk semua perintah skrip. Elemen konfigurasi ini juga dapat diatur dalam setiap perintah di bagian perintah skrip jika pengguna ingin mengambil alih pengaturan global.

Opsi yang dapat dikonfigurasi pengguna meliputi:

  1. Penyedia jendela output: Jika atribut suppress-messages diatur ke 'true', pesan khusus perintah tidak ditampilkan di konsol. Deskripsi Atribut diberikan di bawah ini:

    • tujuan: Menentukan apakah output perlu dicetak ke file atau stdout. Ini salah secara default.

    • file-name: Jalur file (Opsional).

    • suppress-messages: Menekan pesan di konsol. Ini adalah 'false' secara default.

    Contoh:

    <output-providers>  
    
      <output-window  
    
        suppress-messages="<true/false>"   (optional)  
    
        destination="<file/stdout>"        (optional)  
    
        file-name="<file-name>"            (optional)  
    
       />  
    
    </output-providers>  
    

    atau

    <...All commands...>  
    
      <output-window  
    
         suppress-messages="<true/false>"   (optional)  
    
         destination="<file/stdout>"        (optional)  
    
         file-name="<file-name>"            (optional)  
    
       />  
    
    </...All commands...>  
    
  2. Penyedia Koneksi Migrasi Data: Ini menentukan server sumber/target mana yang akan dipertimbangkan untuk migrasi data. Penggunaan sumber-terakhir-digunakan menunjukkan bahwa server sumber terakhir yang digunakan digunakan untuk migrasi data. Demikian pula target-use-last-used menunjukkan bahwa server target terakhir yang digunakan digunakan digunakan untuk migrasi data. Pengguna juga dapat menentukan server (sumber atau target) dengan menggunakan atribut source-server atau target-server.

    Hanya satu atau atribut lain yang ditentukan yang dapat digunakan yaitu:

    • source-use-last-used="true" (default) atau source-server="source_servername"

    • target-use-last-used="true" (default) atau target-server="target_servername"

    Contoh:

    <output-providers>  
    
      <data-migration-connection   source-use-last-used="true"  
    
                                   target-server="target_1"/>  
    
    </output-providers>  
    

    atau

    <migrate-data>  
    
      <data-migration-connection   source-server="source_1"  
    
                                   target-use-last-used="true"/>  
    
    </migrate-data>  
    
  3. Popup Input Pengguna: Ini memungkinkan penanganan kesalahan, ketika objek dimuat dari database. Pengguna menyediakan mode input, dan jika terjadi kesalahan, konsol berlanjut seperti yang ditentukan pengguna.

    Mode tersebut meliputi:

    • ask-user - Meminta pengguna untuk melanjutkan('ya') atau kesalahan keluar ('tidak').

    • error- Konsol menampilkan kesalahan dan menghentikan eksekusi.

    • lanjutkan- Konsol dilanjutkan dengan eksekusi.

    Mode default adalah kesalahan.

    Contoh:

    <output-providers>  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </output-providers>  
    

    atau

    <!-- Connect to target database -->  
    
    <connect-target-database server="target_0">  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </connect-target-database>  
    
  4. Penyedia Koneksi Ulang: Ini memungkinkan pengguna untuk mengatur pengaturan koneksi ulang jika terjadi kegagalan koneksi. Ini dapat diatur untuk server sumber dan target.

    Mode koneksi ulang adalah:

    • reconnect-to-last-used-server: Jika koneksi tidak aktif, koneksi mencoba menyambungkan kembali ke server terakhir yang digunakan paling banyak 5 kali.

    • generate-an-error: Jika koneksi tidak aktif, kesalahan akan dihasilkan.

    Mode defaultnya adalah generate-an-error.

    Contoh:

    <output-providers>  
    
     <reconnect-manager on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"  
    
                        on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>  
    
    </output-providers>  
    

    atau

    <!--synchronization-->  
    
    <synchronize-target>  
    
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>  
    
    </synchronize-target>  
    

    atau

    <!--data migration-->  
    
    <migrate-data server="target_0">  
    
      <reconnect-manager  
    
        on-source-reconnect="reconnect-to-last-used-server"  
    
        on-target-reconnect="generate-an-error"/>  
    
    </migrate-data>  
    
  5. Penyedia Timpa Konverter: Ini memungkinkan pengguna untuk menangani objek yang sudah ada pada metabase target. Tindakan yang mungkin meliputi:

    • error: Konsol menampilkan kesalahan dan menghentikan eksekusi.

    • menimpa: Menimpa nilai objek yang ada. Tindakan ini dilakukan secara default.

    • lewati: Konsol melewati objek yang sudah ada di database

    • ask-user: Meminta masukan kepada pengguna ('ya'/ 'tidak')

    Contoh:

    <output-providers>  
    
      <object-overwrite action="<error|skip|overwrite|ask-user>"/>  
    
    </output-providers>  
    

    atau

    <convert-schema object-name="ssma.TT1">  
    
      <object-overwrite action="<error|skip|overwrite|ask-user>"/>  
    
    </convert-schema>  
    
  6. Penyedia Prasyarat yang Gagal: Ini memungkinkan pengguna untuk menangani prasyarat apa pun yang diperlukan untuk memproses perintah. Secara default, mode ketat adalah 'false'. Jika diatur ke 'true', pengecualian akan dihasilkan karena kegagalan untuk memenuhi prasyarat.

    Contoh:

    <output-providers>  
    
      <prerequisites strict-mode="<true|false>"/>  
    
    </output-providers>  
    
  7. Hentikan Operasi: Selama operasi tengah, jika pengguna ingin menghentikan operasi, hotkey 'Ctrl+C' dapat digunakan. SSMA untuk Konsol Akses akan menunggu operasi selesai dan mengakhiri eksekusi konsol.

    Jika pengguna ingin segera menghentikan eksekusi, maka hotkey 'Ctrl+C' dapat ditekan lagi untuk penghentian tiba-tiba aplikasi Konsol SSMA.

  8. Penyedia Kemajuan: Menginformasikan kemajuan setiap perintah konsol. Opsi ini dinonaktifkan secara default. Atribut pelaporan kemajuan terdiri:

    • off

    • setiap-1%

    • setiap-2%

    • setiap-5%

    • setiap-10%

    • setiap-20%

    Contoh:

    <output-providers>  
    
     <progress-reporting enable="<true|false>"           (optional)  
    
                         report-messages="<true|false>"  (optional)  
    
                         report-progress="every-1%|every-2%|every-5%|every-10%|every-20%|off" (optional)/>  
    
    </output-providers>  
    

    atau

    <...All commands...>  
    
      <progress-reporting  
    
        enable="<true|false>"              (optional)  
    
        report-messages="<true|false>"     (optional)  
    
        report-progress="every-1%|every-2%|every-5%|every-10%|every-20%|off"     (optional)/>  
    
    </...All commands...>  
    
  9. Logger Verbosity: Mengatur tingkat verbositas log. Ini sesuai dengan opsi Semua Kategori di UI. Secara default, tingkat verbositas log adalah "kesalahan".

    Opsi tingkat pencatat meliputi:

    • kesalahan fatal: Hanya pesan kesalahan fatal yang dicatat.

    • kesalahan: Hanya pesan kesalahan dan kesalahan fatal yang dicatat.

    • peringatan: Semua tingkat kecuali pesan debug dan info dicatat.

    • info: Semua tingkat kecuali pesan debug dicatat.

    • debug: Semua tingkat pesan yang dicatat.

    Catatan

    Pesan wajib dicatat di tingkat mana pun.

    Contoh:

    <output-providers>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </output-providers>  
    

    atau

    <...All commands...>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </...All commands...>  
    
  10. Ambil alih Kata Sandi Terenkripsi: Jika 'true', kata sandi teks yang jelas yang ditentukan di bagian definisi server dari file koneksi server atau dalam file skrip, ambil alih kata sandi terenkripsi yang disimpan dalam penyimpanan yang dilindungi jika ada. Jika tidak ada kata sandi yang ditentukan dalam teks yang jelas, pengguna diminta untuk memasukkan kata sandi.

    Berikut dua kasus muncul:

    1. Jika opsi penimpaan salah, urutan pencarian akan dilindungi storage-Script> File-Server> Connection File-> Prompt User.

    2. Jika opsi ambil alih benar, urutan pencarian akan menjadi Script File-Server> Connection File-Prompt> User.

    Contoh:

    <output-providers>  
    
      <encrypted-password override="<true/false>"/>  
    
    </output-providers>  
    

Opsi yang tidak dapat dikonfigurasi adalah:

  • Upaya Koneksi Ulang Maksimum: Ketika waktu koneksi yang dibuat habis atau terputus karena kegagalan jaringan, server harus disambungkan kembali. Upaya koneksi ulang diizinkan untuk maksimum 5 percobaan ulang setelah itu, konsol secara otomatis melakukan koneksi ulang. Fasilitas koneksi ulang otomatis mengurangi upaya Anda dalam menjalankan ulang skrip.

Parameter Koneksi Server

Parameter koneksi server dapat ditentukan dalam file skrip atau dalam file koneksi server. Silakan lihat bagian Membuat File Koneksi Server (AccessToSQL) untuk detail selengkapnya.

Perintah Skrip

File skrip berisi urutan perintah alur kerja migrasi dalam format XML. Aplikasi konsol SSMA memproses migrasi dalam urutan perintah yang muncul dalam file skrip.

Misalnya, migrasi data khas tabel tertentu dalam database Access mengikuti hierarki: Database-> Table.

Ketika semua perintah dalam file skrip berhasil dijalankan, aplikasi konsol SSMA keluar dan mengembalikan kontrol kepada pengguna. Konten file skrip lebih atau kurang statis dengan informasi variabel yang terkandung dalam File Nilai Variabel atau, di bagian terpisah dalam file skrip untuk nilai variabel.

Contoh:

<!--Sample of script file commands -->  
  
<ssma-script-file>  
  
  <script-commands>  
  
    <create-new-project project-folder="$project_folder$"  
  
                        project-name="$project_name$"  
  
                        overwrite-if-exists="true"/>  
  
    <connect-source-database server="source_2"/>  
  
    <save-project/>  
  
    <close-project/>  
  
  </script-commands>  
  
</ssma-script-file>  

Templat yang terdiri dari 3 file skrip (untuk menjalankan berbagai skenario), file nilai variabel, dan file koneksi server disediakan di folder Skrip Konsol Sampel direktori produk:

  • AssessmentReportGenerationSample.xml

  • ConversionAndDataMigrationSample.xml

  • VariableValueFileSample.xml

  • ServersConnectionFileSample.xml

Anda dapat menjalankan templat (file) setelah mengubah parameter yang ditampilkan di dalamnya untuk relevansi.

Daftar lengkap perintah skrip dapat ditemukan di Menjalankan Konsol SSMA (AccessToSQL)

Validasi file skrip

Pengguna dapat dengan mudah memvalidasi file skripnya terhadap file definisi skema 'A2SSConsoleScriptSchema.xsd' yang tersedia di folder 'Skema'.

Langkah selanjutnya

Langkah selanjutnya dalam mengoperasikan konsol adalah Membuat File Nilai Variabel (AccessToSQL).

Baca juga

Membuat File Nilai Variabel (AccessToSQL)