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 denganCASE 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 denganISNULL(string_expression)
danNULL
s 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 NULL
adalah . 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 jikaANSI_NULLS
beradaOFF
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 menggunakanIS NULL
klausa danIS 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 danRAISERROR
, 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 adalahOFF
. 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 atauRAISERROR
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
atauRAISERROR
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 darisysmessages
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 adalahOFF
dan tidak melakukan pemeriksaan argumenNULL
. - Dalam mode Penuh, SSMA memeriksa
NULL
argumen. RAISERROR
denganarg-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 keCHARINDEX_VARCHAR
CHARINDEX_NVARCHAR
atau fungsi yang ditentukan pengguna berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah namas2ss
skema ) 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 denganCASE
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 namaINDEX_COLORDER
yang sama (dibuat dalam database pengguna di bawah namas2ss
skema ) 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 mengembalikanNULL
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 keREPLICATE_VARCHAR
REPLICATE_NVARCHAR
atau fungsi yang ditentukan pengguna berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah namas2ss
skema ) 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 keSUBSTRING_VARCHAR
atau atauSUBSTRING_NVARCHAR
SUBSTRING_VARBINARY
fungsi yang ditentukan pengguna berdasarkan jenis parameter yang diteruskan (dibuat dalam database pengguna di bawah namas2ss
skema ) 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.