Pengaturan Proyek (Konversi) (SybaseToSQL)

Halaman Konversi kotak dialog Pengaturan Proyek berisi pengaturan yang menyesuaikan cara SSMA mengonversi sintaks SAP Adaptive Server Enterprise (ASE) ke SQL Server atau sintaks Azure SQL.

Panel Konversi tersedia dalam kotak dialog Pengaturan Proyek dan Pengaturan Proyek Default :

  • Jika Anda ingin menentukan pengaturan untuk semua proyek SSMA, pada menu Alat , pilih Pengaturan Proyek Default, klik Umum di bagian bawah panel kiri, lalu klik Konversi.

  • Untuk menentukan pengaturan untuk proyek saat ini, pada menu Alat , pilih Pengaturan Proyek, klik Umum di bagian bawah panel kiri, lalu klik Konversi.

Bagian lain-lain

Kesalahan

SQL Server/Azure SQL dan ASE menggunakan kode kesalahan yang berbeda.

Gunakan pengaturan ini untuk menentukan jenis pesan (Peringatan atau Kesalahan) yang diperlihatkan SSMA di panel Output atau Daftar Kesalahan saat menemukan referensi ke @@ERROR dalam kode ASE.

  • Jika Anda memilih Konversi dan tandai dengan peringatan, SSMA akan mengonversi pernyataan dan menandainya dengan komentar peringatan.
  • Jika Anda memilih Menandai sebagai kesalahan, SSMA akan mengabaikan proses konversi dan menandai pernyataan dengan komentar kesalahan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Konversikan dan tandai dengan peringatan
Optimis Konversikan dan tandai dengan peringatan
Penuh Tandai kesalahan

Konversi operator LIKE

Menentukan apakah akan mengonversi LIKE operand agar sesuai dengan perilaku SAP ASE. Intinya adalah bahwa ASE memangkas spasi di akhir dalam pola serupa. Solusinya adalah membuat pengecoran ekspresi kanan ke jenis data dengan panjang tetap dengan presisi maksimum.

  • Pilih Konversi sederhana untuk mengonversi ekspresi tanpa koreksi apa pun.
  • Untuk menggunakan perilaku ASE, pilih Ubah ke panjang tetap.

Saat Anda memilih mode konversi dalam kotak Mode, SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Konversi sederhana
Optimis Konversi sederhana
Penuh Ubah ke panjang tetap

Konversi atau ubah string kosong menjadi tipe numerik

Menentukan cara menangani string kosong di dalam CONVERT atau CAST ekspresi dengan tipe data numerik sebagai argumen. Opsi berikut ini tersedia untuk pengaturan ini:

  • Pilih Konversi sederhana untuk mengonversi ekspresi tanpa koreksi apa pun.
  • Jika String kosong sebagai nol numerik dipilih, parameter string {s} akan digantikan oleh ekspresi CASE ltrim(rtrim({s})) WHEN "" THEN 0 else {s} END.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Konversi sederhana
Optimis Konversi sederhana
Penuh String kosong dianggap sebagai angka nol

Perangkaian NULL

Pengaturan ini menentukan cara mengonversi perangkaian string dengan NULL. Opsi berikut dapat diatur untuk pengaturan khusus ini:

  • Jika opsi Bungkus dengan fungsi ISNULL dipilih, setiap non-konstanta string_expression dalam penggabungan akan dibungkus dengan ISNULL(string_expression) serta NULLs digantikan dengan string kosong.
  • Menjaga sintaks saat ini akan mempertahankan sintaks asli.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Bungkus dengan menggunakan fungsi ISNULL

Konversi teks kosong

Pengaturan ini menentukan cara mengonversi string kosong. Opsi berikut dapat diatur untuk pengaturan khusus ini:

  • Ganti semua ekspresi string dengan spasi
  • Ganti konstanta string kosong dengan spasi

Untuk menggunakan perilaku SQL Server/Azure SQL, pilih Pertahankan sintaks saat ini.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Ganti semua ekspresi string dengan spasi

Konversi string biner dengan menggunakan fungsi CONVERT dan CAST

Konversi nilai biner ke angka dapat mengembalikan nilai yang berbeda pada platform yang berbeda. Misalnya, pada prosesor x86, CONVERT(integer, 0x00000100) kembali 65536 di ASE, tetapi 256 di SQL Server. ASE juga mengembalikan nilai yang berbeda tergantung pada urutan byte.

Gunakan pengaturan ini untuk mengontrol bagaimana SSMA mengonversi CONVERT dan CAST ekspresi yang berisi nilai biner:

  • Pilih Konversi sederhana untuk mengonversi ekspresi tanpa peringatan atau koreksi apa pun. Gunakan pengaturan ini jika Anda tahu bahwa server ASE memiliki urutan byte yang tidak memerlukan perubahan nilai biner apa pun.
  • Pilih Konversi dan koreksi agar SSMA mengonversi dan memperbaiki ekspresi untuk digunakan di SQL Server. Urutan byte dalam konstanta harfiah akan dibalik. Semua nilai biner lainnya (seperti variabel biner dan kolom) akan ditandai dengan kesalahan. Gunakan nilai ini jika Anda tahu bahwa server ASE memiliki urutan byte yang memerlukan perubahan pada nilai biner.

Pilih Konversi dan tandai dengan peringatan agar SSMA mengonversi dan memperbaiki ekspresi, dan menandai semua ekspresi yang dikonversi dengan komentar peringatan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Konversikan dan tandai dengan peringatan
Optimis Konversi sederhana
Penuh Konversi dan perbaiki

SQL Dinamis

Gunakan pengaturan ini untuk menentukan jenis pesan (Peringatan atau Kesalahan) yang diperlihatkan SSMA di panel Output atau Daftar Kesalahan saat menemukan SQL dinamis dalam kode ASE.

  • Jika Anda memilih Konversi dan tandai dengan peringatan, SSMA akan mengonversi SQL dinamis dan menandai pernyataan dengan komentar peringatan.
  • Jika Anda memilih Menandai sebagai kesalahan, SSMA akan mengabaikan proses konversi dan menandai pernyataan dengan komentar kesalahan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Konversikan dan tandai dengan peringatan
Optimis Konversikan dan tandai dengan peringatan
Penuh Tandai kesalahan

Konversi pemeriksaan kesamaan

Di SQL Server/Azure SQL, jika pengaturan ANSI_NULLS aktif, SQL Server/Azure SQL mengembalikan UNKNOWN saat perbandingan kesetaraan berisi nilai NULL. Jika ANSI_NULLS dimatikan, perbandingan persamaan yang mengandung nilai NULL akan mengembalikan nilai benar ketika kolom dan ekspresi yang dibandingkan atau kedua ekspresi tersebut sama-sama NULL. Secara default (ANSINULL OFF), perbandingan kesetaraan SAP ASE berperilaku seperti SQL Server/Azure SQL dengan ANSI_NULLS OFF.

  • Jika Anda memilih Konversi sederhana, SSMA akan mengonversi kode ASE ke sintaks SQL Server/Azure SQL tanpa pemeriksaan tambahan untuk NULL nilai. Gunakan pengaturan ini jika ANSI_NULLS berada OFF di SQL Server/Azure SQL atau jika Anda ingin merevisi perbandingan kesetaraan berdasarkan per kasus.
  • Jika Anda memilih Pertimbangkan nilai NULL, SSMA akan menambahkan pemeriksaan untuk nilai NULL dengan menggunakan klausa IS NULL dan IS NOT NULL.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Konversi sederhana
Optimis Konversi sederhana
Penuh Pertimbangkan nilai NULL

Format string

SQL Server/Azure SQL tidak lagi mendukung argumen format_string dalam statement PRINT dan RAISERROR. Argumen format_string diizinkan untuk menempatkan parameter yang dapat diganti langsung dalam string, lalu mengganti parameter pada runtime. Sebagai gantinya, SQL Server memerlukan string lengkap dengan menggunakan string literal, atau string yang dibangun dengan menggunakan variabel. Untuk informasi selengkapnya, lihat topik PRINT (Transact-SQL).

Ketika SSMA menemukan format_string argumen, SSMA dapat membangun string literal menggunakan variabel atau membuat variabel baru dan membangun string dengan menggunakan variabel tersebut.

  • Untuk menggunakan string literal untuk PRINT fungsi dan RAISERROR , pilih Buat string baru.

    Dalam mode ini, jika pernyataan PRINT atau RAISERROR tidak menggunakan tempat penampung dan variabel lokal, pernyataan tidak berubah. Karakter persen ganda (%%) diubah menjadi satu persen karakter % dalam literal string PRINT.

    Jika pernyataan PRINT atau RAISERROR menggunakan tempat penampung dan satu atau beberapa variabel lokal, seperti dalam contoh berikut:

    PRINT 'Total: %1!%%', @percent
    

    SSMA akan mengonversinya ke sintaks berikut:

    PRINT 'Total: '+ CAST(@percent AS varchar(max)) + '%'
    

    Jika format_string adalah variabel, seperti dalam pernyataan berikut:

    PRINT @fmt, @arg1, @arg2
    

    SSMA tidak dapat melakukan konversi string sederhana, dan harus membuat variabel baru:

    DECLARE @print_format_1 varchar(max)
    SET @print_format_1 =
        REPLACE (@fmt, '%%', '%')
    SET @print_format_1 =
        REPLACE (@print_format_1, '%1!',
        CAST (@arg1 AS varchar(max)))
    SET @print_format_1 =
        REPLACE (@print_format_1, '%2!',
        CAST (@arg2 AS varchar(max)))
    PRINT @print_format_1
    

    Saat menggunakan mode Buat string baru , SSMA mengasumsikan bahwa opsi CONCAT_NULL_YIELDS_NULL SQL Server adalah OFF. Oleh karena itu, SSMA tidak memeriksa argumen null.

  • Agar SSMA membuat variabel baru untuk setiap PRINTRAISERROR dan pernyataan, lalu gunakan variabel tersebut untuk nilai string, pilih Buat variabel baru.

    Dalam mode ini, jika pernyataan PRINT atau RAISERROR tidak menggunakan tempat penampung maupun variabel lokal, SSMA mengganti semua karakter persen ganda (%%) dengan karakter persen tunggal untuk mematuhi sintaks SQL Server/Azure SQL.

    Jika pernyataan PRINT atau RAISERROR menggunakan tempat penampung dan satu atau beberapa variabel lokal, seperti dalam contoh berikut:

    PRINT 'Total: %1!%%', @percent
    

    SSMA akan mengonversinya ke sintaks berikut:

    DECLARE @print_format_1 varchar(max)
    SET @print_format_1 = 'Total: %1!%'
    SET @print_format_1 =
        REPLACE (@print_format_1, '%1!',
        ISNULL(CAST (@percent AS VARCHAR(max)), ''))
    PRINT @print_format_1
    

    Jika format_string adalah variabel, seperti dalam pernyataan berikut:

    PRINT @fmt, @arg1, @arg2
    

    SSMA membuat variabel baru sebagai berikut, memeriksa nilai null di setiap argumen:

    DECLARE @print_format_1 varchar(max)
    SET @print_format_1 =
        REPLACE (@fmt, '%%', '%')
    SET @print_format_1 =
        REPLACE (@print_format_1, '%1!',
        ISNULL(CAST (@arg1 AS varchar(max)),''))
    SET @print_format_1 =
        REPLACE (@print_format_1, '%2!',
        ISNULL(CAST (@arg2 AS varchar(max)),''))
    PRINT @print_format_1
    

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Membuat string baru
Optimis Membuat string baru
Penuh Membuat variabel baru

Menyisipkan nilai eksplisit ke dalam kolom tanda waktu

SQL Server/Azure SQL tidak mendukung penyisipan nilai eksplisit ke dalam kolom tanda waktu.

  • Untuk mengecualikan kolom tanda waktu dari INSERT pernyataan, pilih Kecualikan kolom.
  • Untuk mencetak pesan kesalahan setiap kali kolom tanda waktu berada dalam INSERT pernyataan, pilih Tandai dengan kesalahan. Dalam mode ini, INSERT pernyataan tidak akan dikonversi dan akan ditandai dengan komentar kesalahan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Mengecualikan kolom
Optimis Mengecualikan kolom
Penuh Tandai kesalahan

Menyimpan objek sementara yang ditentukan dalam prosedur

Pengaturan ini menentukan apakah definisi objek sementara yang muncul dalam prosedur harus disimpan dalam metadata sumber selama konversi.

  • Pilih Ya untuk disimpan ke metadata.
  • Pilih Tidak jika objek tidak perlu disimpan.
Pengaturan Nilai
Bawaan Ya
Optimis Ya
Penuh Tidak.

Konversi tabel proksi

Menentukan apakah tabel proksi ASE dikonversi ke tabel SQL Server/Azure SQL, atau tidak dikonversi dan kode ditandai dengan komentar kesalahan.

  • Pilih Konversi untuk mengonversi tabel proksi ke tabel reguler.
  • Pilih Tandai dengan kesalahan untuk menandai kode tabel proksi dengan komentar kesalahan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Tandai kesalahan
Optimis Tandai kesalahan
Penuh Tandai kesalahan

Nomor pesan dasar RAISERROR

Pesan pengguna ASE disimpan di setiap database. Pesan pengguna SQL Server disimpan secara terpusat dan tersedia melalui sys.messages tampilan katalog. Selain itu pesan pengguna ASE dimulai di 20000, tetapi pesan kesalahan SQL Server dimulai di 50001.

Pengaturan ini menentukan nomor untuk ditambahkan ke nomor pesan pengguna ASE untuk mengonversinya ke pesan pengguna SQL Server. Jika SQL Server Anda memiliki pesan pengguna dalam sys.messages tampilan katalog, Anda mungkin harus mengubah nomor ini ke nilai yang lebih tinggi. Ini agar nomor pesan yang dikonversi tidak bertentangan dengan nomor pesan yang ada.

Perhatikan hal berikut:

  • Pesan ASE dalam rentang 17000-19999 berasal dari sysmessages tabel sistem dan tidak dikonversi.
  • Jika nomor pesan yang dirujuk dalam RAISERROR pernyataan adalah konstanta, SSMA akan menambahkan nomor pesan dasar ke konstanta untuk menentukan nomor pesan pengguna baru.
  • Jika nomor pesan yang direferensikan adalah variabel atau ekspresi, SSMA akan membuat variabel lokal perantara.
  • Dalam mode Optimis, SSMA mengasumsikan bahwa opsi CONCAT_NULL_YIELDS_NULL SQL Server adalah OFF dan tidak melakukan pemeriksaan argumen NULL .
  • Dalam modus Penuh, SSMA memeriksa NULL argumen.
  • RAISERROR dengan argumen arg-list tidak dikonversi.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan 30001
Optimis 30001
Penuh 30001

Objek sistem

Gunakan pengaturan ini untuk menentukan jenis pesan (Peringatan atau Kesalahan) yang diperlihatkan SSMA di panel Output atau Daftar Kesalahan saat menemukan penggunaan objek sistem ASE.

  • Jika Anda memilih Konversi dan tandai dengan peringatan, SSMA akan mengonversi referensi ke objek sistem dan akan menandai pernyataan dengan komentar peringatan.
  • Jika Anda memilih Tandai dengan kesalahan, SSMA tidak akan mengonversi referensi ke objek sistem dan akan menandai pernyataan dengan komentar kesalahan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Konversikan dan tandai dengan peringatan
Optimis Konversikan dan tandai dengan peringatan
Penuh Tandai kesalahan

Pengidentifikasi belum terselesaikan

Gunakan pengaturan ini untuk menentukan jenis pesan (Peringatan atau Kesalahan) yang diperlihatkan SSMA di panel Output atau Daftar Kesalahan saat tidak dapat mengatasi pengidentifikasi.

  • Jika Anda memilih Konversi dan tandai dengan peringatan, SSMA akan mencoba mengonversi referensi ke pengidentifikasi yang tidak terselesaikan dan akan menandai pernyataan dengan komentar peringatan.
  • Jika Anda memilih Tandai dengan kesalahan, SSMA tidak akan mengonversi referensi pada pengidentifikasi yang belum terselesaikan dan akan menandai pernyataan dengan komentar yang menunjukkan kesalahan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Konversikan dan tandai dengan peringatan
Optimis Konversikan dan tandai dengan peringatan
Penuh Tandai kesalahan

Bagian fungsi sistem

Fungsi CHARINDEX

Di ASE, CHARINDEX mengembalikan NULL hanya jika semua ekspresi input adalah NULL. SQL Server/Azure SQL akan mengembalikan NULL jika ada ekspresi input adalah NULL.

  • Untuk menggunakan perilaku ASE, pilih Ganti fungsi. Semua panggilan ke fungsi CHARINDEX diganti dengan panggilan ke fungsi yang ditentukan pengguna, yaitu CHARINDEX_VARCHAR atau CHARINDEX_NVARCHAR, berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah nama skema s2ss) untuk meniru perilaku SAP ASE.
  • Untuk menggunakan perilaku SQL Server/Azure SQL, pilih Pertahankan sintaks saat ini.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Ganti fungsi

Fungsi DATALENGTH

SQL Server/Azure SQL dan ASE berbeda dalam nilai yang dikembalikan oleh DATALENGTH fungsi ketika nilainya adalah spasi tunggal. Dalam hal ini, SQL Server/Azure SQL mengembalikan 0 dan ASE mengembalikan 1.

  • Untuk menggunakan perilaku ASE, pilih Ganti fungsi. Semua panggilan ke DATALENGTH fungsi diganti dengan CASE ekspresi untuk meniru perilaku SAP ASE.
  • Untuk menggunakan perilaku SQL Server/Azure SQL default, pilih Pertahankan sintaksis saat ini.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Ganti fungsi

Fungsi INDEX_COL

ASE mendukung argumen opsional user_id ke INDEX_COL fungsi; namun, SQL Server/Azure SQL tidak mendukung argumen ini. Jika Anda menggunakan user_id argumen , fungsi ini tidak dapat dikonversi ke sintaks SQL Server/Azure SQL.

  • Untuk menggunakan perilaku ASE, pilih Konversi fungsi. Jika kode berisi user_id argumen , SSMA akan menampilkan kesalahan.
  • Untuk menampilkan pesan kesalahan setiap kali INDEX_COL ditemui, pilih Tandai sebagai kesalahan. SSMA tidak akan mengonversi referensi ke fungsi, dan akan menandai pernyataan dengan komentar kesalahan.
Pengaturan Nilai
Bawaan Tandai kesalahan
Optimis Tandai kesalahan
Penuh Tandai kesalahan

fungsi INDEX_COLORDER

SQL Server/Azure SQL tidak memiliki INDEX_COLORDER fungsi sistem.

  • Untuk menggunakan perilaku ASE, pilih Konversi fungsi. Semua panggilan ke fungsi INDEX_COLORDER diganti dengan panggilan ke fungsi yang ditentukan oleh pengguna dengan nama yang sama INDEX_COLORDER (dibuat dalam database pengguna di bawah nama skema s2ss) yang meniru perilaku SAP ASE.
  • Untuk mencetak pesan kesalahan setiap kali INDEX_COLORDER terjadi, pilih Tandai dengan kesalahan. SSMA tidak akan mengonversi referensi ke fungsi, dan akan menandai pernyataan dengan komentar kesalahan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Tandai kesalahan
Optimis Tandai kesalahan
Penuh Tandai kesalahan

Fungsi LEFT dan RIGHT

LEFT dan RIGHT fungsi dalam ASE berulah secara berbeda untuk parameter panjang negatif.

  • Untuk menggunakan perilaku ASE, pilih Ganti Fungsi. Parameter panjang kemudian diganti dengan CASE ekspresi yang akan menghasilkan NULL untuk nilai negatif.
  • Untuk menggunakan perilaku SQL Server, pilih Pertahankan sintaksis saat ini.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Ganti fungsi

Nota

Jika parameter panjang adalah nilai harfiah dan bukan ekspresi kompleks, nilai panjang selalu diganti dengan NULL terlepas dari pengaturan proyek.

fungsi NEXT_IDENTITY

SQL Server/Azure SQL tidak memiliki NEXT_IDENTITY fungsi sistem.

  • Untuk menggunakan perilaku ASE, pilih Konversi Fungsi. Semua panggilan ke NEXT_IDENTITY fungsi diganti dengan ekspresi (IDENT_CURRENT(parameter Value) + IDENT_INCR(parameter Value) yang meniru perilaku SAP ASE.
  • Untuk mencetak pesan kesalahan setiap kali NEXT_IDENTITY terjadi, pilih Tandai dengan kesalahan. SSMA tidak akan mengonversi referensi ke fungsi, dan akan menandai pernyataan dengan komentar kesalahan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Tandai kesalahan
Optimis Tandai kesalahan
Penuh Tandai kesalahan

Mode Default/Optimis/Penuh: Tandai jika terdapat kesalahan

Fungsi PATINDEX

Menentukan apakah akan mengonversi PATINDEX fungsi agar sesuai dengan perilaku SAP ASE. Intinya adalah bahwa ASE memangkas spasi yang berlebihan di akhir dalam pola pencarian. Solusinya adalah membuat cast ekspresi nilai ke jenis data panjang tetap dengan presisi maksimum dan menggunakan fungsi pola pencarian rtrim.

  • Untuk menggunakan perilaku ASE, pilih Gunakan.
  • Untuk menggunakan perilaku SQL Server/Azure SQL default, pilih Jangan gunakan.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Jangan gunakan
Optimis Jangan gunakan
Penuh Gunakan

Fungsi REPLICATE

Fungsi REPLICATE mengulangi string sebanyak jumlah kali yang ditentukan. Di ASE, jika Anda menentukan untuk mengulangi string nol kali, hasilnya adalah NULL. Di SQL Server/Azure SQL, hasilnya adalah string kosong.

  • Untuk menggunakan perilaku ASE, pilih Ganti fungsi. Semua panggilan ke fungsi REPLICATE diganti dengan panggilan ke fungsi yang ditentukan pengguna, yaitu REPLICATE_VARCHAR atau REPLICATE_NVARCHAR, berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah nama skema s2ss) untuk meniru perilaku SAP ASE.
  • Untuk menggunakan perilaku SQL Server/Azure SQL default, pilih Ganti Fungsi.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Ganti fungsi
Optimis Ganti fungsi
Penuh Ganti fungsi

Fungsi TRIM (LTRIM, RTRIM)

Pengaturan ini menentukan apakah akan mengganti panggilan ke TRIM, LTRIM dan RTRIM fungsi dengan fungsi sintaksis setara SAP ASE atau untuk mempertahankan sintaks saat ini. Opsi berikut ini ada untuk pengaturan khusus ini:

  • Ganti fungsi
  • Pertahankan sintaks saat ini

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Ganti fungsi
Optimis Ganti fungsi
Penuh Ganti fungsi

Fungsi SUBSTRING

Di ASE, fungsi SUBSTRING(expression, start, length) mengembalikan NULL jika nilai awal yang lebih besar dari jumlah karakter dalam ekspresi ditentukan, atau jika panjangnya sama dengan nol. Di SQL Server/Azure SQL, ekspresi yang setara mengembalikan string kosong.

  • Untuk menggunakan perilaku ASE, pilih Ganti fungsi. Semua panggilan ke fungsi SUBSTRING diganti dengan panggilan ke fungsi yang ditentukan pengguna SUBSTRING_VARCHAR, SUBSTRING_NVARCHAR, atau SUBSTRING_VARBINARY berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah skema nama s2ss) untuk meniru perilaku SAP ASE.
  • Untuk menggunakan perilaku SQL Server/Azure SQL, pilih Pertahankan sintaks saat ini.

Saat Anda memilih mode konversi dalam kotak Mode , SSMA menerapkan pengaturan berikut:

Pengaturan Nilai
Bawaan Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Ganti fungsi

Bagian tabel

Tambahkan kunci primer

Membuat kunci primer baru di tabel SQL Server atau Azure SQL jika tabel SAP ASE tidak memiliki kunci utama atau indeks unik.

Pengaturan Nilai
Bawaan Tidak.
Optimis Tidak.
Penuh Ya

Nota

Saat tersambung ke Azure SQL, itu adalah Ya secara default.

Lihat Juga

Referensi Antarmuka Pengguna (SybaseToSQL)