Aracılığıyla paylaş


Proje Ayarları (Dönüştürme) (SybaseToSQL)

Proje Ayarları iletişim kutusunun Dönüştürme sayfası, SSMA'nın SAP Adaptive Server Enterprise (ASE) söz dizimini SQL Server'a veya Azure SQL söz dizimine dönüştürme biçimini özelleştiren ayarlar içerir.

Dönüştürme bölmesi, Proje Ayarları ve Varsayılan Proje Ayarları iletişim kutularında kullanılabilir:

  • Tüm SSMA projelerinin ayarlarını belirtmek istiyorsanız, Araçları menüsünde Varsayılan Proje Ayarları seçin, sol bölmenin alt kısmındaki Genel 'e tıklayın ve sonra dönüştürme öğesine tıklayın.

  • Geçerli projenin ayarlarını belirtmek için, Araçlar menüsünde proje ayarları seçin, sol bölmenin alt kısmındaki Genel 'e tıklayın ve sonra dönüştürme öğesine tıklayın.

Çeşitli bölüm

Hata Kodu

SQL Server/Azure SQL ve ASE farklı hata kodları kullanır.

ASE kodunda @@ERROR başvuruyla karşılaştığında SSMA'nın Çıkış veya Hata Listesi bölmesinde gösterdiği ileti türünü (Uyarı veya Hata) belirtmek için bu ayarı kullanın.

  • Dönüştür'ü seçip uyarı ile işaretlederseniz, SSMA ifadeleri dönüştürür ve uyarı yorumlarıyla işaretler.
  • numaralı hatayıile işaretle'yi seçerseniz, SSMA dönüştürmeyi atlar ve açıklamalarla işaretler.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Dönüştür ve uyarıyla işaretle
Iyimser Dönüştür ve uyarıyla işaretle
Tamamen dolu Hata olarak işaretle

LIKE işlecinin dönüştürülmesi

LIKE işlenenlerinin SAP ASE davranışıyla eşleşecek şekilde dönüştürülip dönüştürülmeyeceğini belirtir. Asıl nokta, ASE'nin sondaki boşlukları benzer bir düzende kırpmasıdır. Geçici çözüm, maksimum hassasiyet ile sabit uzunluklu bir veri türüne doğru ifadenin dönüştürülmesidir.

  • Basit dönüştürme seçerek ifadeleri düzeltme olmadan dönüştürün.
  • ASE davranışını kullanmak için, sabit uzunluğa dönüştürü seçeneğini olarak belirleyin.

Mod kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Basit dönüştürme
Iyimser Basit dönüştürme
Tamamen dolu Sabit uzunluğa dönüştürme

Boş dizeleri sayısal türlere dönüştür veya çevir

CONVERT veya CAST ifadelerinde veri türü bağımsız değişkeni olarak sayısal türe sahip boş veya boşluk karakteri içeren dizelerin nasıl işleneceğini belirtir. Bu ayar için aşağıdaki seçenekler kullanılabilir:

  • Basit dönüştürme seçerek ifadeleri düzeltme olmadan dönüştürün.
  • Sıfır sayısal olarak boş dize seçilirse, dize parametresi {s}CASE ltrim(rtrim({s})) WHEN "" THEN 0 else {s} END ifadesiyle değiştirilir.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Basit dönüştürme
Iyimser Basit dönüştürme
Tamamen dolu Sayısal olarak sıfır yerine boş dize

NULL Bağlantısı

Bu ayar, NULLile dize birleştirmenin nasıl dönüştürüldüğünü belirtir. Bu ayar için aşağıdaki seçenekler ayarlanabilir:

  • ISNULL işleviyle sarmala seçeneği belirlenirse, birleştirmede her sabit olmayan string_expressionISNULL(string_expression) ile sarmalanır ve NULL değerler boş bir dizeyle değiştirilir.
  • Geçerli söz dizimlerini koru özgün söz dizimlerini korur.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Geçerli söz dizimlerini koru
Iyimser Geçerli söz dizimlerini koru
Tamamen dolu ISNULL işleviyle kaydırma

Boş string'lerin dönüştürülmesi

Bu ayar boş dizelerin nasıl dönüştürüldüğünü belirtir. Bu ayar için aşağıdaki seçenekler ayarlanabilir:

  • Tüm dize ifadelerini boşluk ile değiştirin
  • Boş dize sabitlerini boşluk ile değiştirme

SQL Server/Azure SQL davranışını kullanmak için geçerli söz dizimini koruseçin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Geçerli söz dizimlerini koru
Iyimser Geçerli söz dizimlerini koru
Tamamen dolu Tüm dize ifadelerini boşlukla değiştirme

ÇEVİR ve CAST ikili dizgi dönüştürme

İkili değerlerin sayılara dönüştürülmesi farklı platformlarda farklı değerler döndürebilir. Örneğin, x86 işlemcilerde CONVERT(integer, 0x00000100) ASE'de 65536, SQL Server'da 256 döndürür. ASE ayrıca bayt sırasına bağlı olarak farklı değerler döndürür.

SSMA'nın ikili değerler içeren CONVERT ve CAST ifadelerini nasıl dönüştürdüğünü denetlemek için bu ayarı kullanın:

  • Basit dönüştürme'ni seçerek ifadeleri herhangi bir uyarı veya düzeltme olmadan dönüştürün. ASE sunucusunun ikili değerde değişiklik gerektirmeyen bir bayt sırasına sahip olduğunu biliyorsanız bu ayarı kullanın.
  • Dönüştür ve düzelt'e tıklayın, ardından SSMA'nın SQL Server'da kullanılmak üzere ifadeleri dönüştürmesi ve düzeltmesi için'i değiştirin. Değişmez değer sabitlerindeki bayt sırası tersine çevrilir. Diğer tüm ikili değerler (ikili değişkenler ve sütunlar gibi) hatalarla işaretlenir. ASE sunucusunun ikili değerlerde değişiklik yapılmasını gerektiren bir bayt sırasına sahip olduğunu biliyorsanız bu değeri kullanın.

SSMA'nın ifadeleri dönüştürmesi ve düzeltmesi için Dönüştür'ü seçin ve uyarı işaretle'yi seçin ve dönüştürülen tüm ifadeleri uyarı açıklamalarıyla işaretleyin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Dönüştür ve uyarıyla işaretle
Iyimser Basit dönüştürme
Tamamen dolu Dönüştür ve düzelt

Dinamik SQL

ASE kodunda dinamik SQL ile karşılaştığında SSMA'nın Çıktı veya Hata Listesi bölmesinde gösterdiği ileti türünü (Uyarı veya Hata) belirtmek için bu ayarı kullanın.

  • Dönüştür'ü seçip uyarıylaişaretlerseniz, SSMA dinamik SQL'i dönüştürür ve deyimleri uyarı açıklamaları ile işaretler.
  • numaralı hatayıile işaretle'yi seçerseniz, SSMA dönüştürmeyi atlar ve açıklamalarla işaretler.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Dönüştür ve uyarıyla işaretle
Iyimser Dönüştür ve uyarıyla işaretle
Tamamen dolu Hata olarak işaretle

Eşitlik denetimi dönüştürme

SQL Server/Azure SQL'de ANSI_NULLS ayarı açıksa, herhangi bir eşitlik karşılaştırması UNKNOWN bir değer içerdiğinde SQL Server/Azure SQL NULL döndürür. ANSI_NULLS kapalıysa, NULL değerleri içeren eşitlik karşılaştırmaları, karşılaştırılan sütun ve ifade veya iki ifade NULLolduğunda true döndürür. Varsayılan olarak (ANSINULL OFF) SAP ASE eşitlik karşılaştırmaları, ANSI_NULLS OFFile SQL Server/Azure SQL gibi davranır.

  • Eğer Basit dönüştürmeseçerseniz, SSMA NULL değerleri için ek denetimler yapmadan ASE kodunu SQL Server/Azure SQL söz dizimine dönüştürür. SQL Server/Azure SQL'de ANSI_NULLSOFF olması durumunda veya eşitlik karşılaştırmalarını duruma göre gözden geçirmek istiyorsanız bu ayarı kullanın.
  • NULL değerlerini dikkate alseçerseniz, SSMA NULL ve IS NULL yan tümcelerini kullanarak IS NOT NULL değerler için denetimler ekler.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Basit dönüştürme
Iyimser Basit dönüştürme
Tamamen dolu NULL değerleri göz önünde bulundurun

Dizeleri biçimlendirme

SQL Server/Azure SQL format_string ve PRINT deyimlerinde artık RAISERROR bağımsız değişkenini desteklemez. format_string bağımsız değişkeni, değiştirilebilir parametreleri doğrudan dizeye yerleştirmeye ve ardından çalışma zamanında parametreleri değiştirmeye izin verdi. Bunun yerine, SQL Server bir dize sabiti veya değişken kullanılarak oluşturulan bir dize kullanarak tam dizeyi gerektirir. Daha fazla bilgi için PRINT (Transact-SQL) konusuna bakın.

SSMA bir format_string bağımsız değişkeniyle karşılaştığında, değişkenleri kullanarak bir dize sabiti oluşturabilir veya yeni bir değişken oluşturup bu değişkeni kullanarak bir dize oluşturabilir.

  • PRINT ve RAISERROR işlevleri için dize değişmez değeri kullanmak üzere yeni dize oluşturseçeneğini seçin.

    Bu modda, PRINT veya RAISERROR deyimi yer tutucuları ve yerel değişkenleri kullanmıyorsa, deyimi değişmez. PRINT dize değişmez değerlerinde çift yüzde karakterleri (%%) tek bir yüzde karakteri %'ye dönüştürülür.

    PRINT veya RAISERROR deyimi aşağıdaki örnekte olduğu gibi yer tutucular ve bir veya daha fazla yerel değişken kullanıyorsa:

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

    SSMA bunu aşağıdaki söz dizimine dönüştürür:

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

    format_string aşağıdaki deyim gibi bir değişkense:

    PRINT @fmt, @arg1, @arg2
    

    SSMA basit bir dize dönüştürmesi yapamaz ve yeni bir değişken oluşturmalıdır:

    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
    

    Yeni dize oluşturma modunu kullandığında, SSMA SQL Server seçeneğinin CONCAT_NULL_YIELDS_NULLOFFolduğunu varsayar. Bu nedenle, SSMA null bağımsız değişkenleri denetlemez.

  • SSMA'nın her PRINT ve RAISERROR deyimi için yeni bir değişken oluşturmasını ve ardından dize değeri için bu değişkeni kullanmasını sağlamak için Yeni değişken oluşturöğesini seçin.

    Bu modda, PRINT veya RAISERROR deyimi yer tutucuları ve yerel değişkenleri kullanmıyorsa SSMA, SQL Server/Azure SQL söz dizimine uymak için tüm çift yüzde karakterlerinin (%%) yerine tek yüzde karakterleri ekler.

    Bir PRINT veya RAISERROR deyimi aşağıdaki örnekte olduğu gibi yer tutucular ve bir veya daha fazla yerel değişken kullanıyorsa:

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

    SSMA bunu aşağıdaki söz dizimine dönüştürür:

    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
    

    format_string aşağıdaki deyim gibi bir değişkense:

    PRINT @fmt, @arg1, @arg2
    

    SSMA, her bağımsız değişkendeki null değerleri denetleyerek aşağıdaki gibi yeni bir değişken oluşturur.

    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
    

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Yeni dize oluşturma
Iyimser Yeni dize oluşturma
Tamamen dolu Yeni değişken oluşturma

Zaman damgası sütununa açık bir değer ekleme

SQL Server/Azure SQL, zaman damgası sütununa açık değerler eklemeyi desteklemez.

  • Zaman damgası sütunlarını INSERT deyimlerinin dışında tutmak için Sütunu dışlaöğesini seçin.
  • Zaman damgası sütunu her INSERT deyiminde yer aldığında bir hata mesajı yazdırmak için Hatayla işaretleseçeneğini belirleyin. Bu modda, INSERT deyimleri dönüştürülmeyecek ve hata açıklamaları ile işaretlenecektir.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Sütunu çıkar
Iyimser Sütunu çıkar
Tamamen dolu Hata olarak işaretle

Yordamlarda tanımlanan geçici nesneleri depolama

Bu ayar, yordamlarda görünen geçici nesne tanımlarının dönüştürme sırasında kaynak meta verilerde depolanması gerekip gerekmediğini belirtir.

  • Meta verilere depolamak için Evet seçin.
  • Nesnelerin depolanması gerekmiyorsa yok seçeneğini belirleyin.
Modu Değer
Varsayılan Evet
Iyimser Evet
Tamamen dolu Hayır

Ara sunucu tablosu dönüştürme

ASE proxy tablolarının SQL Server/Azure SQL tablolarına dönüştürüldüğünü veya dönüştürülmediğini ve kodun hata açıklamalarıyla işaretlenip işaretlenmediğini belirtir.

  • Ara sunucu tablolarını normal tablolara dönüştürmek için Dönüştür'ü seçin.
  • Proxy tablo kodunu hata yorumlarıyla işaretlemek amacıyla Hata ile işaretle'yi seçin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Hata olarak işaretle
Iyimser Hata olarak işaretle
Tamamen dolu Hata olarak işaretle

RAISERROR temel ileti numarası

ASE kullanıcı iletileri her veritabanında depolanır. SQL Server kullanıcı iletileri merkezi olarak depolanır ve sys.messages katalog görünümü aracılığıyla kullanılabilir hale getirilir. Buna ek olarak, ASE kullanıcı iletileri 20000başlar, ancak SQL Server hata iletileri 50001başlar.

Bu ayar, ASE kullanıcı ileti numarasına eklenecek sayıyı belirtir ve bu sayede bir SQL Server kullanıcı iletisine dönüştürülür. SQL Server'ınızın sys.messages katalog görünümünde kullanıcı iletileri varsa, bu sayıyı daha yüksek bir değerle değiştirmeniz gerekebilir. Bu, dönüştürülen ileti numaralarının var olan ileti numaralarıyla çakışmaması için geçerlidir.

Aşağıdakilere dikkat edin:

  • 17000 - 19999 aralığındaki ASE iletileri sysmessages sistem tablosundandır ve dönüştürülmez.
  • RAISERROR deyiminde başvuruda bulunan ileti numarası sabitse, SSMA yeni kullanıcı ileti numarasını belirlemek için sabite temel ileti numarasını ekler.
  • Başvuruda bulunan ileti numarası bir değişken veya ifadeyse, SSMA bir ara yerel değişken oluşturur.
  • İyimser modda SSMA, CONCAT_NULL_YIELDS_NULL SQL Server seçeneğinin OFF olduğunu varsayar ve NULL bağımsız değişkenleri için denetim yapmaz.
  • Tam moddaSSMA, NULL bağımsız değişkenlerini denetler.
  • RAISERROR, arg-list bağımsız değişkeniyle dönüştürülmedi.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan 30001
Iyimser 30001
Tamamen dolu 30001

Sistem nesneleri

ASE sistem nesnelerinin kullanımıyla karşılaştığında SSMA'nın Çıktı veya Hata Listesi bölmesinde gösterdiği ileti türünü (Uyarı veya Hata) belirtmek için bu ayarı kullanın.

  • Dönüştür'ü seçip uyarıylaişaretlerseniz, SSMA başvuruları sistem nesnelerine dönüştürür ve deyimleri uyarı açıklamalarıyla işaretler.
  • hatası ileİşaretle'yi seçerseniz, SSMA başvuruları sistem nesnelerine dönüştürmeyecek ve deyimleri hata açıklamaları ile işaretleyecektir.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Dönüştür ve uyarıyla işaretle
Iyimser Dönüştür ve uyarıyla işaretle
Tamamen dolu Hata olarak işaretle

Çözümlenmemiş tanımlayıcılar

SSMA'nın Çıktı veya Hata Listesi bölmesinde bir tanımlayıcıyı çözümleyemediğinde gösterdiği ileti türünü (Uyarı veya Hata) belirtmek için bu ayarı kullanın.

  • Dönüştür'ü seçip uyarıylaişaretlerseniz, SSMA başvuruları çözümlenmemiş tanımlayıcılara dönüştürmeyi dener ve deyimleri uyarı açıklamaları ile işaretler.
  • Hatayla işaretleseçerseniz, SSMA çözümlenmemiş tanımlayıcılara başvuruları dönüştürmez ve ifadeleri hata yorumlarıyla işaretler.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Dönüştür ve uyarıyla işaretle
Iyimser Dönüştür ve uyarıyla işaretle
Tamamen dolu Hata olarak işaretle

Sistem işlevleri bölümü

CHARINDEX işlevi

Tüm giriş ifadeleri CHARINDEXise, ASE'de NULL yalnızca NULL döndürür. SQL Server/Azure SQL, herhangi bir giriş ifadesi NULLise NULL döndürecektir.

  • ASE davranışını kullanmak için değiştir işleviniseçin. SAP ASE davranışını öykünmek için, kullanıcı veritabanında şema adı CHARINDEXaltında oluşturulan parametrelerin türüne göre, CHARINDEX_VARCHAR işlevine yapılan tüm çağrılar, ya CHARINDEX_NVARCHAR ya da s2ss kullanıcı tarafından tanımlanan işlev çağrısıyla değiştirilir.
  • SQL Server/Azure SQL davranışını kullanmak için geçerli söz dizimini koruseçin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Geçerli söz dizimlerini koru
Iyimser Geçerli söz dizimlerini koru
Tamamen dolu Replace işlevi

DATALENGTH işlevi

SQL Server/Azure SQL ve ASE, değer tek bir boşluk olduğunda DATALENGTH işlevi tarafından döndürülen değerden farklıdır. Bu durumda, SQL Server/Azure SQL 0 ve ASE 1döndürür.

  • ASE davranışını kullanmak için değiştir işleviniseçin. DATALENGTH işlevine yapılan tüm çağrılar, SAP ASE davranışını öykünmek için CASE ifadesiyle değiştirilir.
  • Varsayılan SQL Server/Azure SQL davranışını kullanmak için geçerli söz dizimini koruseçin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Geçerli söz dizimlerini koru
Iyimser Geçerli söz dizimlerini koru
Tamamen dolu Replace işlevi

INDEX_COL işlevi

ASE, user_id işlevi için isteğe bağlı bir INDEX_COL bağımsız değişkenini destekler; ancak SQL Server/Azure SQL bu bağımsız değişkeni desteklemez. user_id bağımsız değişkenini kullanırsanız, bu işlev SQL Server/Azure SQL söz dizimine çevrilemez.

  • ASE davranışını kullanmak için İşlevi dönüştürseçin. Kod user_id bağımsız değişkenini içeriyorsa, SSMA bir hata görüntüler.
  • INDEX_COL ile her karşılaşıldığında bir hata iletisi görüntülemek için Hatayla işaretleseçeneğini belirleyin. SSMA, işlev referanslarını dönüştürmeyecek ve ifadeyi hata yorumlarıyla işaretleyecektir.
Modu Değer
Varsayılan Hata olarak işaretle
Iyimser Hata olarak işaretle
Tamamen dolu Hata olarak işaretle

INDEX_COLORDER işlevi

SQL Server/Azure SQL'in INDEX_COLORDER bir sistem işlevi yoktur.

  • ASE davranışını kullanmak için İşlevi dönüştürseçin. INDEX_COLORDER işlevine yapılan tüm çağrılar, SAP ASE davranışını öykünen aynı ada INDEX_COLORDER (kullanıcı veritabanında şema adı s2ssaltında oluşturulan) kullanıcı tanımlı bir işleve yapılan çağrıyla değiştirilir.
  • INDEX_COLORDER ile her karşılaşıldığında bir hata iletisi yazdırmak için, hatayla işaretle seçeneğini seçin. SSMA, işlev referanslarını dönüştürmeyecek ve ifadeyi hata yorumlarıyla işaretleyecektir.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Hata olarak işaretle
Iyimser Hata olarak işaretle
Tamamen dolu Hata olarak işaretle

LEFT ve RIGHT İşlevleri

ASE'deki LEFT ve RIGHT işlevleri, negatif uzunluk parametresi için farklı davranır.

  • ASE davranışını kullanmak için İşlev Değiştirseçin. Daha sonra uzunluk parametresi, negatif değer için CASE döndüren NULL ifadesiyle değiştirilir.
  • SQL Server davranışını kullanmak için geçerli söz dizimini koru seçin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Geçerli söz dizimlerini koru
Iyimser Geçerli söz dizimlerini koru
Tamamen dolu Replace işlevi

Not

Uzunluk parametresi karmaşık bir ifade değil değişmez değerse, proje ayarından bağımsız olarak uzunluk değeri her zaman NULL ile değiştirilir.

NEXT_IDENTITY işlevi

SQL Server/Azure SQL'in NEXT_IDENTITY bir sistem işlevi yoktur.

  • ASE davranışını kullanmak için İşlev Dönüştürseçin. NEXT_IDENTITY işlevine yapılan tüm çağrıların yerine, SAP ASE davranışını taklit eden (IDENT_CURRENT(parameter Value) + IDENT_INCR(parameter Value) ifadesi kullanılır.
  • NEXT_IDENTITY ile her karşılaşıldığında bir hata iletisi yazdırmak için, hatayla işaretle seçeneğini seçin. SSMA, işlev referanslarını dönüştürmeyecek ve ifadeyi hata yorumlarıyla işaretleyecektir.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Hata olarak işaretle
Iyimser Hata olarak işaretle
Tamamen dolu Hata olarak işaretle

Varsayılan/İyimser/Tam Mod: Hatayla işaretle

PATINDEX işlevi

PATINDEX işlevinin SAP ASE davranışıyla eşleşecek şekilde dönüştürülip dönüştürülmeyeceğini belirtir. Asıl nokta, ASE'nin bir arama düzeninde sondaki boşlukları kırpmasıdır. Geçici çözüm, değer ifadesini sabit uzunlukta bir veri türüne en yüksek duyarlıkla dönüştürme ve arama düzenine rtrim işlevi uygulamaktır.

  • ASE davranışını kullanmak için kullan'ı seçin.
  • Varsayılan SQL Server/Azure SQL davranışını kullanmak için kullanmayın'ı seçin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Kullanmayın
Iyimser Kullanmayın
Tamamen dolu Kullanmak

ÇOĞALT işlevi

REPLICATE işlevi bir dizeyi belirtilen sayıda yineler. ASE'de dizeyi sıfır kez yinelemeyi belirtirseniz sonuç NULLolur. SQL Server/Azure SQL'de sonuç boş bir dizedir.

  • ASE davranışını kullanmak için değiştir işleviniseçin. SAP ASE davranışını öykünmek için, kullanıcı veritabanında şema adı REPLICATEaltında oluşturulan parametrelerin türüne göre, REPLICATE_VARCHAR işlevine yapılan tüm çağrılar, ya REPLICATE_NVARCHAR ya da s2ss kullanıcı tarafından tanımlanan işlev çağrısıyla değiştirilir.
  • Varsayılan SQL Server/Azure SQL davranışını kullanmak için İşlevi Değiştirseçin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Replace işlevi
Iyimser Replace işlevi
Tamamen dolu Replace işlevi

TRIM (LTRIM, RTRIM) işlevi

Bu ayar, TRIM, LTRIM ve RTRIM işlevlerine yapılan çağrıların SAP ASE eşdeğer söz dizimi işlevleriyle değiştirilip değiştirilmeyeceğini veya geçerli söz diziminin tutulup tutulmayacağını belirtir. Bu ayar için aşağıdaki seçenekler mevcuttur:

  • Değiştir işlevi
  • Geçerli söz dizimlerini koru

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Replace işlevi
Iyimser Replace işlevi
Tamamen dolu Replace işlevi

"SUBSTRING" işlevi

ASE'de SUBSTRING(expression, start, length) işlevi, ifadedeki karakter sayısından büyük bir başlangıç değeri belirtilirse veya uzunluk sıfıra eşitse NULL döndürür. SQL Server/Azure SQL'de eşdeğer ifade boş bir dize döndürür.

  • ASE davranışını kullanmak için değiştir işleviniseçin. SUBSTRING işlevine yapılan tüm çağrılar, SAP ASE davranışını öykünmek için, kullanıcı veritabanında şema adı SUBSTRING_VARCHARaltında oluşturulan, geçirilen parametrelerin türüne göre SUBSTRING_NVARCHAR, SUBSTRING_VARBINARY veya s2ss kullanıcı tarafından tanımlanan bir işleve yapılan çağrılarla değiştirilir.
  • SQL Server/Azure SQL davranışını kullanmak için geçerli söz dizimini koruseçin.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:

Modu Değer
Varsayılan Geçerli söz dizimlerini koru
Iyimser Geçerli söz dizimlerini koru
Tamamen dolu Replace işlevi

Tablolar bölümü

Birincil anahtar ekleme

SAP ASE tablosunda birincil anahtar veya benzersiz dizin yoksa SQL Server veya Azure SQL tablosunda yeni bir birincil anahtar oluşturur.

Modu Değer
Varsayılan Hayır
Iyimser Hayır
Tamamen dolu Evet

Not

Azure SQL'e bağlandığında, varsayılan olarak Evet.

Ayrıca Bkz.

Kullanıcı Arayüzü Referansı (SybaseToSQL)