Bagikan melalui


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

@@ERROR

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 Tandai dengan kesalahan, SSMA akan melewati konversi dan menandai pernyataan dengan komentar kesalahan.

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

Mode Nilai
Default Mengonversi dan menandai dengan peringatan
Optimis Mengonversi dan menandai dengan peringatan
Penuh Tandai dengan kesalahan

Konversi operator LIKE

Menentukan apakah akan mengonversi LIKE operand agar sesuai dengan perilaku SAP ASE. Intinya adalah bahwa ASE memangkas trailing kosong dalam pola seperti. Solusinya adalah membuat pemeran ekspresi yang tepat ke jenis data panjang tetap dengan presisi maksimum.

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

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

Mode Nilai
Default Konversi sederhana
Optimis Konversi sederhana
Penuh Transmisikan ke panjang tetap

STRING kosong CONVERT atau CAST ke jenis numerik

Menentukan cara menangani string kosong atau kosong di dalam CONVERT atau CAST ekspresi dengan jenis numerik sebagai argumen tipe data. 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 {s} string akan diganti dengan CASE ltrim(rtrim({s})) WHEN "" THEN 0 else {s} END ekspresi.

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

Mode Nilai
Default Konversi sederhana
Optimis Konversi sederhana
Penuh String kosong sebagai numerik 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 penggandaan akan dibungkus dengan ISNULL(string_expression) dan NULLs akan diganti dengan string kosong.
  • Menjaga sintaks saat ini akan mempertahankan sintaks asli.

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

Mode Nilai
Default Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Membungkus dengan fungsi ISNULL

Konversi string 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:

Mode Nilai
Default Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Ganti semua ekspresi string dengan spasi

Konversi string biner 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:

Mode Nilai
Default Mengonversi dan menandai dengan peringatan
Optimis Konversi sederhana
Penuh Konversi dan benar

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 Tandai dengan kesalahan, SSMA akan melewati konversi dan menandai pernyataan dengan komentar kesalahan.

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

Mode Nilai
Default Mengonversi dan menandai dengan peringatan
Optimis Mengonversi dan menandai dengan peringatan
Penuh Tandai dengan kesalahan

Konversi pemeriksaan kesetaraan

Di SQL Server/Azure SQL, jika ANSI_NULLS pengaturan aktif, SQL Server/Azure SQL mengembalikan UNKNOWN ketika perbandingan kesetaraan berisi NULL nilai. Jika ANSI_NULLS nonaktif, perbandingan kesetaraan yang berisi NULL nilai mengembalikan true ketika kolom dan ekspresi yang dibandingkan atau dua ekspresi keduanya NULLadalah . Secara default (ANSINULL OFF) perbandingan kesetaraan SAP ASE bereaksi 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 nilai NULL dengan menggunakan IS NULL klausa dan IS NOT NULL .

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

Mode Nilai
Default Konversi sederhana
Optimis Konversi sederhana
Penuh Pertimbangkan nilai NULL

String format

SQL Server/Azure SQL tidak lagi mendukung format_string argumen dalam PRINT pernyataan 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 PRINT RAISERROR dan pernyataan, lalu gunakan variabel tersebut untuk nilai string, pilih Buat variabel baru.

    Dalam mode ini, jika PRINT pernyataan atau RAISERROR tidak menggunakan tempat penampung dan 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:

Mode Nilai
Default 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:

Mode Nilai
Default Mengecualikan kolom
Optimis Mengecualikan kolom
Penuh Tandai dengan 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.
Mode Nilai
Default 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:

Mode Nilai
Default Tandai dengan kesalahan
Optimis Tandai dengan kesalahan
Penuh Tandai dengan 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-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 mode Penuh, SSMA memeriksa NULL argumen.
  • RAISERROR dengan arg-list argumen tidak dikonversi.

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

Mode Nilai
Default 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:

Mode Nilai
Default Mengonversi dan menandai dengan peringatan
Optimis Mengonversi dan menandai dengan peringatan
Penuh Tandai dengan kesalahan

Pengidentifikasi yang tidak 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 ke pengidentifikasi yang tidak terselesaikan dan akan menandai pernyataan dengan komentar kesalahan.

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

Mode Nilai
Default Mengonversi dan menandai dengan peringatan
Optimis Mengonversi dan menandai dengan peringatan
Penuh Tandai dengan 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 .NULL

  • Untuk menggunakan perilaku ASE, pilih Ganti fungsi. Semua panggilan ke CHARINDEX fungsi diganti dengan panggilan ke CHARINDEX_VARCHAR CHARINDEX_NVARCHAR atau fungsi yang ditentukan pengguna berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah nama s2ssskema ) 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:

Mode Nilai
Default 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:

Mode Nilai
Default 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 terjadi, pilih Tandai dengan kesalahan. SSMA tidak akan mengonversi referensi ke fungsi, dan akan menandai pernyataan dengan komentar kesalahan.
Mode Nilai
Default Tandai dengan kesalahan
Optimis Tandai dengan kesalahan
Penuh Tandai dengan kesalahan

fungsi INDEX_COLORDER

SQL Server/Azure SQL tidak memiliki INDEX_COLORDER fungsi sistem.

  • Untuk menggunakan perilaku ASE, pilih Konversi fungsi. Semua panggilan ke INDEX_COLORDER fungsi diganti dengan panggilan ke fungsi yang ditentukan pengguna dengan nama INDEX_COLORDER yang sama (dibuat dalam database pengguna di bawah nama s2ssskema ) 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:

Mode Nilai
Default Tandai dengan kesalahan
Optimis Tandai dengan kesalahan
Penuh Tandai dengan 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 mengembalikan NULL nilai negatif.
  • Untuk menggunakan perilaku SQL Server, pilih Pertahankan sintaksis saat ini.

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

Mode Nilai
Default Pertahankan sintaks saat ini
Optimis Pertahankan sintaks saat ini
Penuh Ganti fungsi

Catatan

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:

Mode Nilai
Default Tandai dengan kesalahan
Optimis Tandai dengan kesalahan
Penuh Tandai dengan kesalahan

Mode Default/Optimis/Penuh: Tandai dengan kesalahan

Fungsi PATINDEX

Menentukan apakah akan mengonversi PATINDEX fungsi agar sesuai dengan perilaku SAP ASE. Intinya adalah bahwa ASE memangkas jejak kosong dalam pola pencarian. Solusinya adalah membuat cast ekspresi nilai ke jenis data panjang tetap dengan presisi maksimum dan menerapkan rtrim fungsi ke pola pencarian.

  • 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:

Mode Nilai
Default Jangan gunakan
Optimis Jangan gunakan
Penuh Gunakan

Fungsi REPLICATE

Fungsi mengulangi REPLICATE untai (karakter) dalam jumlah waktu 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 REPLICATE fungsi diganti dengan panggilan ke REPLICATE_VARCHAR REPLICATE_NVARCHAR atau fungsi yang ditentukan pengguna berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah nama s2ssskema ) 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:

Mode Nilai
Default 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:

Mode Nilai
Default 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 SUBSTRING fungsi diganti dengan panggilan ke SUBSTRING_VARCHAR atau atau SUBSTRING_NVARCHAR SUBSTRING_VARBINARY fungsi yang ditentukan pengguna berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah nama s2ssskema ) 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:

Mode Nilai
Default 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.

Mode Nilai
Default Tidak
Optimis Tidak
Penuh Ya

Catatan

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

Lihat Juga

Referensi Antarmuka Pengguna (SybaseToSQL)