Aracılığıyla paylaş


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

Proje Ayarları iletişim kutusunun Dönüştürme sayfası, SSMA'nın Oracle söz dizimini SQL Server 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 için , Araçlar menüsünde Varsayılan Proje Ayarları'na tıklayın, Geçiş Hedefi Sürümü açılan listesinden görüntülenmesi veya değiştirilmesi gereken geçiş projesi türünü seçin, ardından sol bölmenin alt kısmındaki Genel'e ve sonra Dönüştürme'ye tıklayın.

  • Geçerli projenin ayarlarını belirtmek için , Araçlar menüsünde Proje Ayarları'na tıklayın, sonra sol bölmenin alt kısmındaki Genel'e tıklayın ve ardından Dönüştürme'ye tıklayın.

Yerleşik işlevler ve sağlanan paketler

Süre Tanım
COUNT işlevini COUNT_BIG'e dönüştürme İşlevleriniz COUNT büyük olasılıkla 2.31-1 olan 2.147.483.647'den büyük değerler döndürecekse, işlevleri olarak COUNT_BIGdönüştürmeniz gerekir.

Evet'i seçerseniz, SSMA tüm kullanımlarını COUNT olarak COUNT_BIGdönüştürür.

Hayır'ı seçerseniz işlevler olarak COUNTkalır. İşlev 231-1'den büyük bir değer döndürürse SQL Server hata döndürür.

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

Varsayılan/Tam Mod: Evet
İyimser Mod: Hayır
SUBSTR işlevi çağrılarını SUBSTRING işlev çağrılarına dönüştürme SSMA, parametre sayısına bağlı olarak Oracle SUBSTR işlev çağrılarını SQL Server substring işlev çağrılarına dönüştürebilir. SSMA bir SUBSTR işlev çağrısını dönüştüremiyorsa veya parametre sayısı desteklenmiyorsa, SSMA işlev çağrısını SUBSTR özel bir SSMA işlev çağrısına dönüştürür.

Evet'i seçerseniz, SSMA üç parametre kullanan işlev çağrılarını SQL Server'a SUBSTRdönüştürürsubstring. Diğer SUBSTR işlevler özel SSMA işlevini çağırmak için dönüştürülür.

Hayır'ı seçerseniz, SSMA işlev çağrısını SUBSTR özel bir SSMA işlev çağrısına dönüştürür.

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

Varsayılan/İyimser Mod: Evet
Tam Modu: Hayır
TO_CHAR(tarih, biçim) işlev çağrılarını dönüştürme SSMA, Oracle TO_CHAR(date, format) şemasındaki bileşenleri ssma_oracle yordamlara dönüştürebilir.

TO_CHAR_DATE işlevini kullan'ı seçerseniz, SSMA TO_CHAR(date, format) fonksiyonunu, dönüştürme için İngilizce kullanarak TO_CHAR_DATE fonksiyonuna dönüştürür.

TO_CHAR_DATE_LS işlevini kullan (NLS bakımı) seçeneğini belirlerseniz, SSMA TO_CHAR(date, format) işlevini, dönüştürme için oturum dilini kullanarak TO_CHAR_DATE_LS işlevine dönüştürür.

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

Varsayılan/İyimser Mod: TO_CHAR_DATE işlevini kullanarak
Tam Modu: TO_CHAR_DATE_LS işlevini kullanma (NLS dikkati)
DBMS_SQL.PARSE için hata oluştur Hata seçerseniz, SSMA dönüştürme sırasında bir hata üretir.

Uyarı'yı seçerseniz, SSMA dönüştürme sırasında uyarı oluşturur.

Modu kutusunda bir dönüştürme modu seçtiğinizde, SSMA aşağıdaki ayarı uygular:
Varsayılan/İyimser/Tam Mod: Hatası
CONCAT işlevi çağrılarında ISNULL kullanma ISNULL deyimi, Oracle davranışını taklit etmek için CONCAT işlev çağrılarında kullanılır. Bu ayar için aşağıdaki seçenekler mevcuttur:

EVET

HAYIR

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

Varsayılan/İyimser Mod: Hayır
Tam Modu: Evet
DEĞİŞTİR işlevi çağrılarında ISNULL kullanın ISNULL deyimi, Oracle davranışını taklit etmek için REPLACE işlev çağrılarında kullanılır. Bu ayar için aşağıdaki seçenekler mevcuttur:

EVET

HAYIR

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

Varsayılan/İyimser Mod: Hayır
Tam Modu: Evet
Mümkün olduğunda yerel dönüştürme işlevini kullanma Evet'i seçerseniz, SSMA mümkün olduğunda öğesini yerel dönüştürme işlevine dönüştürürTO_CHAR(date, format).

Hayır'ı seçerseniz, SSMA TO_CHAR(date, format) öğesini TO_CHAR_DATE veya TO_CHAR_DATE_LS öğesine dönüştürür (bu, TO_CHAR(date, format) Dönüştür seçenekleriyle tanımlanır).

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

Varsayılan/İyimser Mod: Evet
Tam Modu: Hayır

Dönüşüm Mesajları

Süre Tanım
Sorunlar hakkında ileti oluşturma SSMA'nın dönüştürme sırasında bilgi iletileri oluşturup oluşturmadığını belirtir, bunları Çıkış bölmesinde görüntüler ve dönüştürülen koda ekler.

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

Varsayılan/İyimser Mod: Hayır
Tam Modu: Hayır

Çeşitli Seçenekler

Süre Tanım
ROWNUM ifadelerini tamsayıya dönüştürme SSMA ifadeleri ROWNUM dönüştürdüğünde, ifadeyi bir TOP yan tümceye ve ardından ifadeye dönüştürür. Aşağıdaki örnek, bir Oracle ROWNUM deyiminde DELETE'yi göstermektedir.

DELETE FROM Table1
WHERE ROWNUM < expression and Field1 >= 2

Aşağıdaki örnekte elde edilen Transact-SQL gösterilmektedir:

DELETE TOP (expression-1)
FROM Table1
WHERE Field1>=2

TOP ifadesinin TOP yan tümcelerinin bir tamsayı olarak değerlendirilmesini gerektirir. Tamsayı negatifse, deyimi bir hata oluşturur.

Evetseçerseniz, SSMA ifadeyi tamsayı olarak döndürür.

Hayır'ı seçerseniz, SSMA tamsayı olmayan tüm ifadeleri dönüştürülen kodda hata olarak işaretler.

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

Varsayılan/Tam Mod: Hayır
İyimser Modu : Evet
Varsayılan Şema Eşlemesi Bu ayar, Oracle şemalarının SQL Server şemalarına nasıl eşlendiği belirtir. Bu ayarda iki seçenek vardır:

Şemadan veritabanına: Bu modda Oracle şeması sch1 varsayılan olarak SQL Server veritabanındaki dboSQL Server şemasına sch1 eşlenir.

Şemadan şemaya: Bu modda Oracle şeması sch1 , bağlantı iletişim kutusunda sağlanan varsayılan SQL Server veritabanındaki SQL Server şemasına varsayılan olarak sch1 eşlenir.

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

Varsayılan/İyimser/Tam Mod: Şemadan veritabanına
ORDER BY ifadelerinde Oracle null davranışını taklit et NULL değerleri SQL Server ve Oracle'da farklı sıralanır:

SQL Server'da, NULL değerleri sıralı listedeki en düşük değerlerdir. Artan bir listede önce NULL değerler görüntülenir.

Oracle'da değerler, NULL sıralı bir listedeki en yüksek değerlerdir. Varsayılan olarak, NULL değerleri artan sırada bir listede en son görünür.

Oracle'ın NULLS FIRST ve NULLS LAST yan tümceleri vardır ve bu sayede Oracle'ın NULL'ları sıralama şeklini değiştirebilirsiniz.

SSMA, ORDER BY değerlerini denetleyerek Oracle NULL'nin davranışını öykünebilir. İlk olarak belirtilen sırada NULL değerlerine göre, ardından diğer değerlere göre sıralar.

Evet'i seçerseniz, SSMA Oracle deyimini Oracle ORDER BY davranışına öykünecek şekilde dönüştürür.

Hayır seçerseniz, SSMA Oracle kurallarını yoksayar ve NULLS FIRST ve NULLS LAST yan tümceleriyle karşılaştığında bir hata iletisi oluşturur.

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

Varsayılan/İyimser Mod: Hayır
Tam Modu: Evet
SELECT'teki satır sayısı istisnalarını taklit et INTO yan tümcesine sahip bir SELECT deyim herhangi bir satır döndürmezse Oracle bir NO_DATA_FOUND özel durum oluşturur. Eğer deyim iki veya daha fazla satır döndürürse, TOO_MANY_ROWS istisnası fırlatılır. SQL Server'da dönüştürülen deyim, satır sayısı birden farklı olduğunda herhangi bir istisna oluşturmaz.

Evet'i seçerseniz, SSMA her db_error_exact_one_row_check deyimden sonra özel SELECT yordama çağrı ekler. Bu prosedür NO_DATA_FOUND ve TOO_MANY_ROWS özel durumlarını öykünmektedir. Bu varsayılandır ve Oracle davranışının mümkün olduğunca yakın bir şekilde yeniden üretilmesine olanak tanır. Kaynak kodun bu hataları işleyen özel durum işleyicileri varsa her zaman Evet seçmeniz gerekir. Deyimi kullanıcı tanımlı bir işlev içinde gerçekleşirse SELECT , saklı yordamları yürütme ve özel durum oluşturma SQL Server işlev bağlamı ile uyumlu olmadığından bu modülün saklı yordama dönüştürüleceğini unutmayın.

Hayır'ı seçerseniz hiçbir özel durum oluşturulmaz. Bu, SSMA kullanıcı tanımlı bir işlevi dönüştürdüğünde ve SQL Server'da işlev olarak kalmasını istediğinizde yararlı olabilir

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

Varsayılan/İyimser/Tam Mod: Evet
Düzeltme Danışmanını Etkinleştirme Etkinleştirildiğinde, SSMA hedef T-SQL kodunda yaptığınız değişikliklerden ders çıkarmaya çalışır ve benzer desenin uygulanabileceği başka yerlerde olası kod düzeltmelerini önerir.

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

Varsayılan/İyimser/Tam Mod: Evet
Sabit ifade sütunu diğer adlarını oluştur Listedeki ifadede bir diğer ad eksikse, SSMA sabit diğer adlar (örneğin SELECT, expr1 gibi) oluşturabilir veya ifadeyi kendisi diğer ad olarak kullanabilir. İfadeler oldukça uzun olabileceğinden ve sütun adı uzunluğu sınırlı olduğundan, bu tür diğer adlar için sabit temel ad kullanmak daha güvenlidir. Daha güvenli bir seçenek olsa da, sonuçta elde edilen veri kümesinde dış bağımlılıklar olabileceğinden bazen mümkün değildir. Bu gibi durumlarda sütunları Oracle'ın davranışına benzer şekilde değer ifadelerine göre adlandırmak isteyebilirsiniz.

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

Varsayılan/İyimser mod: Evet
Tam Modu: Hayır
Genişletilmiş Özellikleri Atla Etkinleştirildiğinde, SSMA hedef veritabanında oluşturduğu nesnelere genişletilmiş özellikler eklemez.

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

Varsayılan/İyimser/Tam Mod: Hayır
Hata kodlarını çevirme Etkinleştirildiğinde, eşleme bulunursa hedef SQL Server tarafındaki hata numarası Oracle hata koduna çevrilir.

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

Varsayılan/Tam Mod: Evet
İyimser Mod: Hayır
Tür referansları için tam tür belirleyici kullanın Etkinleştirildiğinde, SSMA rutin parametreler ve dönüş değerleri için tam tür belirtimlerine (ölçek ve duyarlık dahil) uygun olacaktır. Oracle, rutin parametreler için veri türü bağımsız değişkenlerine izin vermez, ancak örtük olarak türetilebileceği durumlar vardır, örneğin %TYPE ve %ROWTYPE öznitelikleri kullanılır. Bu gibi durumlarda, SSMA SQL Server'a dönüştürürken tam tür tanımını (hassasiyet ve ölçek dahil) kullanabilir.

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

Varsayılan/İyimser Mod: Evet
Tam Modu: Hayır
Dize birleştirmede ISNULL kullanma Oracle ve SQL Server, dize birleştirmeleri belirli değerler içerdiğinde farklı sonuçlar döndürür. Oracle, değeri boş bir karakter kümesi gibi değerlendirir NULL . SQL Server NULLdöndürür.

Evet'i seçerseniz, SSMA Oracle birleştirme karakterini (||) SQL Server birleştirme karakteri (+) ile değiştirir. SSMA, NULL değerleri için birleştirmenin her iki tarafındaki ifadeleri de denetler.

Yokseçerseniz, birleştirme karakterlerinin yerini SSMA alır, ancak NULL değerleri denetlemez.

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

Varsayılan/İyimser/Tam Mod: Evet

Nesne dönüştürme

Süre Tanım
NULL DEĞİl sütunda SET NULL başvuru eylemiyle yabancı anahtarları dönüştürme Oracle, başvurulan sütunda NULL değerlere izin verilmediğinden bir SET NULL eyleminin gerçekleştirilemeyeceği yabancı anahtar kısıtlamaları oluşturmaya izin verir. SQL Server bu tür yabancı anahtar yapılandırmasına izin vermez.

Evet'i seçerseniz, SSMA Oracle'da olduğu gibi bilgi eylemleri oluşturur, ancak kısıtlamayı SQL Server'a yüklemeden önce el ile değişiklikler yapmanız gerekir. Örneğin, yerine NO ACTIONöğesini seçebilirsinizSET NULL.

Hayır'ı seçerseniz kısıtlama hata olarak işaretlenir.

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

Varsayılan/İyimser/Tam Mod: Hayır
Alt türleri dönüştürme SSMA, PL/SQL alt türlerini iki yolla dönüştürebilir:

Evet'i seçerseniz, SSMA bir alt türden SQL Server kullanıcı tanımlı tür oluşturur ve bu alt türün her değişkeni için bunu kullanır.

Hayır'ı seçerseniz, SSMA alt türün tüm kaynak bildirimlerini temel alınan türle değiştirip sonucu her zamanki gibi dönüştürür. Bu durumda, SQL Server'da ek tür oluşturulmaz

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

Varsayılan/İyimser/Tam Mod: Hayır
Eş anlamlıları dönüştürme Aşağıdaki Oracle nesnelerinin eş anlamlıları SQL Server'a geçirilebilir:

Tablolar ve nesne tabloları

Görünümler ve nesne görünümleri

Saklı yordamlar ve işlevler

Gerçekleştirilmiş görünümler

Aşağıdakiler için eş anlamlılar Oracle nesneleri, nesnelere doğrudan başvurularla değiştirilebilir:

Sekanslar

Paketler

Java sınıfı şema nesneleri

Kullanıcı tanımlı nesne türleri

Diğer eş anlamlılar aktarılamıyor. SSMA, eş anlamlı ve eş anlamlı kullanan tüm başvurular için hata iletileri oluşturur.

Evet'i seçerseniz, SSMA önceki listelere göre SQL Server eş anlamlıları ve doğrudan nesne başvuruları oluşturur.

Hayır'ı seçerseniz, SSMA burada listelenen tüm eş anlamlılar için doğrudan nesne başvuruları oluşturur.

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

Varsayılan/İyimser/Tam Mod: Evet
Yerel modülleri dönüştürme Oracle iç içe alt programlarının (tek başına saklı yordam veya işlev içinde) dönüştürme türünü tanımlar.

Satır İçi'ni seçerseniz, iç içe alt program çağrıları kendi gövdeleriyle değiştirilir.

Saklı yordamlar'ı seçerseniz, iç içe alt program SQL Server saklı yordamına dönüştürülür ve bu yordam çağrısında çağrıları değiştirilir.

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

Varsayılan/İyimser/Tam Mod: Satır İçi

Kayıt dönüştürme

Süre Tanım
Kaydı ayrı değişkenlerin listesi olarak dönüştürme SSMA, Oracle kayıtlarını ayrı değişkenlere ve belirli bir yapıya sahip XML değişkenlerine dönüştürebilir.

Evet seçerseniz, SSMA mümkün olduğunda kaydı ayrı değişkenler listesine dönüştürür.

Yokseçerseniz, SSMA kaydı belirli bir yapıya sahip XML değişkenlerine dönüştürür.

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

Varsayılan/İyimser/Tam Mod: Evet
Kayıt değişkeni için SELECT...INTO'yu dönüştürürken SELECT...FOR XML kullanın Bir kayıt değişkenini seçtiğinizde XML sonuç kümesinin oluşturulup oluşturulmayacağını belirtir.

Evet seçerseniz, SELECT deyimi XML döndürür.

Yokseçerseniz SELECT deyimi bir sonuç kümesi döndürür.

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

Varsayılan/İyimser/Tam Mod: Hayır

RETURNING Cümlecik Dönüştürücü

Süre Tanım
DELETE deyimindeki RETURNING yan tümcesini OUTPUT'a dönüştürme Oracle, silinen değerleri hemen almanın bir yolu olarak bir RETURNING yan tümcesi sağlar. SQL Server bu işlevi yan tümcesiyle OUTPUT sağlar.

Evet'i seçerseniz, SSMA, RETURNING ifadelerindeki DELETE yan tümceleri OUTPUT yan tümcelere dönüştürür. Tablodaki tetikleyiciler değerleri değiştirebildiğinden, SQL Server'da döndürülen değer Oracle'dakinden farklı olabilir.

Hayır'ı seçerseniz, SSMA döndürülen değerleri almak için ifadelerden önce bir SELECT ifadesi oluşturur.

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

Varsayılan/İyimser/Tam Mod: Evet
INSERT deyimindeki RETURNING yan tümcesini OUTPUT'a dönüştürme Oracle, eklenen değerleri hemen almanın bir yolu olarak bir RETURNING yan tümcesi sağlar. SQL Server bu işlevi yan tümcesiyle OUTPUT sağlar.

Evet seçerseniz, SSMA, bir RETURNINGINSERT yan tümceyi OUTPUT öğesine dönüştürecektir. Tablodaki tetikleyiciler değerleri değiştirebildiğinden, SQL Server'da döndürülen değer Oracle'dakinden farklı olabilir.

Hayır'ı seçerseniz, SSMA bir başvuru tablosundan değerler ekleyip seçerek Oracle işlevselliğine öykünmektedir.

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

Varsayılan/İyimser/Tam Mod: Evet
UPDATE deyimindeki RETURNING yan tümcesini OUTPUT'a dönüştürme Oracle, güncelleştirilmiş değerleri hemen edinmenin bir yolu olarak bir RETURNING yan tümce sağlar. SQL Server bu işlevi yan tümcesiyle OUTPUT sağlar.

Evet'i seçerseniz, SSMA, RETURNING ifadelerindeki UPDATE yan tümceleri OUTPUT yan tümcelere dönüştürür. Tablodaki tetikleyiciler değerleri değiştirebildiğinden, SQL Server'da döndürülen değer Oracle'dakinden farklı olabilir.

Hayır'ı seçerseniz, SSMA dönen değerleri almak için UPDATE ifadelerinden sonra SELECT ifadeleri oluşturur.

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

Varsayılan/İyimser/Tam Mod: Evet

ROWID oluşturma

Süre Tanım
ROWID sütunu oluşturma SSMA SQL Server'da tablolar oluşturduğunda bir ROWID sütunu oluşturabilir. Veriler taşındığında, her satır işlev UNIQUEIDENTIFIER tarafından oluşturulan yeni bir newid() değeri alır.

Evet'i seçerseniz, ROWID sütun tüm tablolarda oluşturulur ve SQL Server ekleme değerleriniz olarak GUID'ler oluşturur. SSMA Tester'ı kullanmayı planlıyorsanız her zaman Evet'i seçin.

Hayır'ı seçerseniz, ROWID sütunları tablolara eklenmez.

Tetikleyicileri içeren tablolar için ROWID sütunu ekleyinROWID tetikleyicileri içeren tablolar için ekleyin.

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

Varsayılan/İyimser Mod: tetikleyicileri olan tablolar için ROWID sütunu ekleme

Tam Modu: Evet
ROWID sütununda benzersiz dizin oluşturma SSMA'nın ROWID üzerinde benzersiz bir dizin oluşturup oluşturmayacağını belirtir. Seçenek "EVET" olarak ayarlanırsa, benzersiz dizin oluşturulur ve "HAYIR" olarak ayarlanırsa, sütunda ROWID benzersiz dizin oluşturulmaz.

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

Varsayılan/İyimser/Tam Mod: Evet

Sıra ve Kimlik Dönüştürme

Süre Tanım
Kimliği farklı dönüştürme Oracle, kimlik sütunları için birden çok yapılandırma seçeneği sağlar. Bu seçeneklerden bazıları SQL Server'daki kimlik özelliği tarafından desteklenmez.

Bu seçenekleri korumanın bir yöntemi, kimliği bir dizi olarak dönüştürmektir.

Sıralama'yı seçerseniz, Oracle kimlik sütunları artık SQL kimlik sütunlarına dönüştürülmeyecek. Bunun yerine bir sıra oluşturulur ve sütun için varsayılan değerler oluşturmak için kullanılır.

Kimlik'i seçerseniz Oracle kimlik sütunları SQL kimlik sütunlarına dönüştürülür. Desteklenmeyen seçenekler dönüştürülmeyecek.

En Uygun'u seçerseniz SSMA, Oracle identity sütununun yapılandırmasına bağlı olarak en uygun dönüştürme yöntemini (Kimlik veya Sıra) belirler.
Sıra Oluşturucuyu Dönüştür Oracle'da benzersiz tanımlayıcılar oluşturmak için bir Sıra kullanabilirsiniz.

SSMA, Dizileri aşağıdakine dönüştürebilir.

SQL Server sıra oluşturucu kullanma.

SSMA sıra oluşturucu kullanma.

Sütun kimliğini kullanma.

Varsayılan seçenek, SQL Server sıra oluşturucuyu kullanmaktır. Ancak, SQL Server geçerli sıra değerinin elde edilmesini (Oracle sıra CURRVAL yöntemi gibi) desteklemez. Oracle dizi CURRVAL yöntemini geçirme hakkında yönergeler için SSMA ekip blog sitesine bakın.

SSMA, Oracle dizisini SSMA sıra öykünücüsine dönüştürme seçeneği de sağlar. 2012'ye kadar SQL Server'a dönüştürdüğünüzde varsayılan seçenek budur

Son olarak, tablodaki bir sütuna atanan sırayı SQL Server kimlik değerlerine de dönüştürebilirsiniz. Sıralar arasındaki eşlemeyi Oracle Tablo sekmesindeki bir kimlik sütununa belirtmeniz gerekir
CURRVAL'ı tetikleyicilerin dışında dönüştürme Yalnızca Çevirim Sırası OluşturucuSütun Kimliği Kullanılarak olarak ayarlandığında görünür. Oracle Sıralama nesneleri tablolardan ayrı olduğundan, birçok tablo yeni bir sıralama değeri oluşturup eklemek için bir tetikleyici kullanır. SSMA bu ifadeleri açıklama satırı haline getirir veya yoruma dönüştürmek hata üreteceği zaman bunları hata olarak işaretler.

Evet'i seçerseniz, SSMA dönüştürülen dizideki CURRVAL dış tetikleyicilere yapılan tüm başvuruları bir uyarıyla işaretler.

Hayır'ı seçerseniz, SSMA dönüştürülen dizideki CURRVAL dış tetikleyicilere yapılan tüm başvuruları bir hatayla işaretler.

Bildirimleri dönüştürme

Süre Tanım
MERGE deyiminin dönüştürülmesi INSERT, UPDATE, DELETE deyimini kullanmayı seçerseniz, SSMA deyimini MERGE, INSERT, UPDATE, DELETE deyimlerine dönüştürür.

MERGE deyimini kullan seçerseniz, SSMA SQL Server'da MERGE deyimini MERGE deyimine dönüştürür.

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

Varsayılan/İyimser/Tam Mod: MERGE deyimini kullanarak
Çağrıları varsayılan bağımsız değişkenleri kullanan alt programlara dönüştürme SQL Server işlevleri, işlev çağrısında parametrelerin atlanmasını desteklemez. Ayrıca, SQL Server işlevleri ve yordamları varsayılan parametre değerleri olarak ifadeleri desteklemez.

Evet'i seçerseniz ve bir işlev çağrısı parametreleri atlarsa, SSMA işlevine varsayılan anahtar sözcüğü ekler ve doğru konumda çağırır. Ardından çağrıyı bir uyarıyla işaretler.

Hayır'ı seçerseniz, SSMA işlev çağrılarını hata olarak işaretler.

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

Varsayılan/İyimser/Tam Mod: Evet
FORALL deyimini WHILE deyimine dönüştürme SSMA'nın PL/SQL koleksiyon öğelerindeki döngüleri nasıl ele alacağını FORALL tanımlar.

Evet'i seçerseniz, SSMA koleksiyon öğelerinin tek tek alındığı bir WHILE döngü oluşturur.

Hayır'ı seçerseniz, SSMA yöntemi kullanarak nodes() koleksiyondan bir satır kümesi oluşturur ve bunu tek bir tablo olarak kullanır. Bu daha verimlidir, ancak çıkış kodunu daha az okunabilir hale getirir.

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

Varsayılan/İyimser Mod: Hayır
Tam Modu: Evet
İşlev çağrılarını yordam çağrılarına dönüştürme Bazı Oracle işlevleri otonom işlemler olarak tanımlanır veya SQL Server'da geçerli olmayacak deyimler içerir. Bu gibi durumlarda, SSMA bir yordam ve bu yordamı sarmalayan bir işlev oluşturur. Dönüştürülen işlev, uygulama prosedürünü çağırır.

SSMA, sarmalayıcı işlev çağrılarını yordam çağrılarına dönüştürebilir. Bu, daha okunabilir bir kod oluşturur ve performansı artırabilir. Ancak bağlam her zaman buna izin vermez; örneğin, listedeki bir işlev çağrısını yordam çağrısıyla SELECT değiştiremezsiniz. SSMA'nın yaygın durumları kapsayacak birkaç seçeneği vardır:

Her zaman seçerseniz, SSMA sarmalayıcı işlev çağrılarını yordam çağrılarına dönüştürmeyi dener. Geçerli bağlam bu dönüştürmeye izin vermiyorsa bir hata iletisi oluşturulur. Bu şekilde, oluşturulan kodda hiçbir işlev çağrısı bırakılmaz.

Mümkün olduğunda seçtiğinizde, işlevin çıkış parametreleri varsa SSMA yalnızca prosedür çağrılarına geçiş yapar. Taşıma mümkün olmadığında parametrenin çıkış özniteliği kaldırılır. Diğer tüm durumlarda SSMA işlev çağrılarını bırakır.

Hiçbir Zaman seçerseniz, SSMA tüm işlev çağrılarını olduğu gibi bırakır. Bazen performans nedeniyle bu seçim kabul edilemez olabilir.

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

Varsayılan/İyimser/Tam Mod: mümkün olduğunda
LOCK TABLE ifadelerini dönüştürün SSMA birçok LOCK TABLE deyimi tablo ipuçlarına dönüştürebilir. SSMA, LOCK TABLE, PARTITION, SUBPARTITION ve @dblink yan tümcelerini içeren NOWAIT deyimlerini dönüştüremez ve bu deyimleri dönüştürme hata iletileriyle işaretler.

Evet'i seçerseniz, SSMA desteklenen LOCK TABLE deyimleri tablo ipuçlarına dönüştürür.

Hayır'ı seçerseniz, SSMA tüm LOCK TABLE deyimleri dönüştürme hata iletileriyle işaretler.

Aşağıdaki tabloda SSMA'nın Oracle kilit modlarını nasıl dönüştürdüğü gösterilmektedir:

Oracle Kilit Modu

ROW SHARE
ROW EXCLUSIVE
SHARE UPDATE = ROW SHARE
SHARE
SHARE
EXCLUSIVE

SQL Server Tablo İpucu

ROWLOCK, HOLDLOCK
ROWLOCK, XLOCK, HOLDLOCK
ROWLOCK, HOLDLOCK
TABLOCK, HOLDLOCK
TABLOCK, XLOCK, HOLDLOCK
TABLOCKX, HOLDLOCK

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

Varsayılan/İyimser/Tam Mod: Evet
REF CURSOR OUT parametreleri için OPEN-FOR deyimlerini dönüştürme Oracle'da OPEN .. FOR deyimi, OUT türündeki bir alt programın REF CURSOR parametresine bir sonuç kümesi döndürmek için kullanılabilir. ** SQL Server'da saklı yordamlar, SELECT ifadelerinin sonuçlarını doğrudan döndürür.

SSMA birçok OPEN .. FOR deyimi deyimlere SELECT dönüştürebilir.

Evet'i seçerseniz, SSMA deyimini OPEN .. FOR bir SELECT deyime dönüştürür ve sonuç kümesini istemciye döndürür.

Hayır'ı seçerseniz, SSMA dönüştürülen kodda ve Çıkış bölmesinde bir hata iletisi oluşturur.

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

Varsayılan/İyimser/Tam Mod: Evet
İşlem işleme talimatlarını dönüştür SSMA, Oracle işlem deyimlerini dönüştürebilir:

Evet'i seçerseniz SSMA, Oracle işlem işleme deyimlerini SQL Server deyimlerine dönüştürür.

Hayırseçerseniz, SSMA işlem işleme ifadelerini dönüştürme hataları olarak işaretler.

Not: Oracle işlemleri örtük olarak açar. SQL Server'da bu davranışı taklit etmek için, işlemlerinizin başlamasını istediğiniz yere BEGIN TRANSACTION ifadelerini el ile eklemeniz gerekir. Alternatif olarak, komutunu oturumunuzun başında yürütebilirsiniz SET IMPLICIT_TRANSACTIONS ON . SSMA, otonom işlemlerle alt yordamlar dönüştürülürken SET IMPLICIT_TRANSACTIONS ON'yı otomatik olarak ekler.

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

Varsayılan/İyimser/Tam Mod: Evet

Ayrıca Bkz.

Kullanıcı Arabirimi Referansı (OracleToSQL)