Udostępnij za pośrednictwem


Ustawienia projektu (konwersja) (Db2ToSQL)

Na stronie Konwersja okna dialogowego ustawień projektu znajdują się ustawienia dostosowujące sposób konwertowania składni Db2 na składnię SQL Server w programie SQL Server Migration Assistant (SSMA).

Panel Konwersji jest dostępny w oknach dialogowych ustawień projektu oraz domyślnych ustawień projektu .

  • Aby określić ustawienia dla wszystkich projektów SSMA, w menu Tools wybierz pozycję Domyślne ustawienia projektu, wybierz typ projektu migracji, dla którego wymagane są ustawienia do wyświetlenia lub zmiany z listy rozwijanej Migracja docelowej wersji, a następnie wybierz Ogólne w dolnej części okienka po lewej stronie, a następnie wybierz Konwersja.

  • Aby określić ustawienia bieżącego projektu, w menu narzędzia wybierz pozycję Ustawienia projektu, a następnie wybierz pozycję Ogólne w dolnej części okienka po lewej stronie, a następnie wybierz pozycję Konwersja.

Komunikaty konwersji

Generowanie komunikatów dotyczących zastosowanych problemów

Określa, czy program SSMA generuje komunikaty informacyjne podczas konwersji, wyświetla je w okienku Dane wyjściowe i dodaje je do przekonwertowanego kodu.

Po wybraniu trybu konwersji w polu Tryb , narzędzie SSMA stosuje następujące ustawienie:

domyślny/optymistyczny tryb: nie

Pełny tryb: Nie

Różne opcje

Rzutowanie wyrażeń ROWNUM jako liczb całkowitych

Gdy funkcja SSMA konwertuje wyrażenia ROWNUM, konwertuje wyrażenie na klauzulę TOP, a następnie wyrażenie. W poniższym przykładzie pokazano ROWNUM w instrukcji Db2 DELETE:

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

Poniższy przykład przedstawia wynikowy kod Transact-SQL:

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

Wyrażenie TOP wymaga, aby wyrażenie TOP obliczało liczbę całkowitą. Jeśli liczba całkowita jest ujemna, instrukcja generuje błąd.

  • Jeśli wybierzesz Tak, funkcja SSMA rzutuje wyrażenie jako liczbę całkowitą.

  • W przypadku wybrania opcji Niefunkcja SSMA oznacza wszystkie wyrażenia inne niż liczby całkowite jako błąd w przekonwertowanym kodzie.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

tryb domyślny/pełny: nie

tryb optymistyczny: Tak

Domyślne mapowanie schematu

To ustawienie określa sposób mapowania schematów db2 na schematy programu SQL Server. W tym ustawieniu są dostępne dwie opcje:

  1. Schemat do bazy danych: W tym trybie sch1 schemat Db2 jest domyślnie mapowany na dbo schemat SQL Server w bazie danych SQL Server sch1.

  2. Schemat schematu: W tym trybie sch1 schemat db2 jest domyślnie mapowany na sch1 schemat programu SQL Server w domyślnej bazie danych programu SQL Server dostępnej w oknie dialogowym połączenia.

Po wybraniu trybu konwersji w polu Tryb program SSMA aplikuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: schemat do bazy danych

Metody konwersji instrukcji MERGE

  • W przypadku wybrania opcji Using INSERT, UPDATE, DELETE statement, SSMA konwertuje instrukcję MERGE na instrukcje INSERT, UPDATE, DELETE.

  • W przypadku wybrania opcji Using MERGE statementprogram SSMA konwertuje instrukcję MERGE na instrukcję MERGE w programie SQL Server.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: przy użyciu instrukcji MERGE

Konwertowanie wywołań na podprogramy używające argumentów domyślnych

Funkcje programu SQL Server nie obsługują pomijania parametrów w wywołaniu funkcji. Ponadto funkcje i procedury programu SQL Server nie obsługują wyrażeń jako domyślnych wartości parametrów.

  • Jeśli wybierzesz Tak i wywołanie funkcji pomija parametry, funkcja SSMA wstawia słowo kluczowe domyślne do funkcji i wywołuje w prawidłowej pozycji. Następnie oznacza je ostrzeżeniem.

  • W przypadku wybrania opcji Bezprogram SSMA oznaczy wywołania funkcji jako błędy.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwertowanie funkcji COUNT na COUNT_BIG

Jeśli funkcje COUNT mogą zwracać wartości większe niż 2147 483 647, czyli 231-1, należy przekonwertować funkcje na COUNT_BIG.

  • W przypadku wybrania opcji Takprogram SSMA konwertuje wszystkie zastosowania funkcji COUNT na COUNT_BIG.

  • Wybór opcji Braksprawi, że funkcje pozostaną jako COUNT. Program SQL Server zwraca błąd, jeśli funkcja zwraca wartość większą niż 231-1.

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

tryb domyślny/pełny: Tak

tryb optymistyczny: nie

Konwertowanie instrukcji FORALL na instrukcję WHILE

Definiuje sposób, w jaki program SSMA będzie traktować pętle FORALL w elementach kolekcji PL/SQL.

  • W przypadku wybrania Takprogram SSMA tworzy pętlę WHILE, w której elementy kolekcji są pobierane pojedynczo.

  • W przypadku wybrania Nieusługa SSMA generuje zestaw wierszy z kolekcji przy użyciu metody nodes( ) i używa jej jako pojedynczej tabeli. Jest to bardziej wydajne, ale sprawia, że kod wyjściowy jest mniej czytelny.

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny tryb: nie

pełny tryb : Tak

Konwertuj klucze obce z referencyjną akcją SET NULL w kolumnie oznaczonej jako NOT NULL.

Usługa Db2 umożliwia tworzenie ograniczeń klucza obcego, w których nie można wykonać akcji SET NULL, ponieważ wartości NULL nie są dozwolone w kolumnie odwołanej. Program SQL Server nie zezwala na taką konfigurację klucza obcego.

  • W przypadku wybrania opcji Takprogram SSMA generuje akcje odwołujące się do bazy danych Db2, ale należy wprowadzić zmiany ręczne przed załadowaniem ograniczenia do programu SQL Server. Na przykład możesz wybrać opcję BRAK DZIAŁANIA zamiast USTAW NULL.

  • Jeśli wybierzesz Nie, ograniczenie zostanie oznaczone jako błąd.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: nie

Konwertowanie wywołań funkcji na wywołania procedury

Niektóre funkcje Db2 są definiowane jako autonomiczne transakcje lub zawierają instrukcje, które nie byłyby prawidłowe w programie SQL Server. W takich przypadkach SSMA tworzy procedurę i funkcję, która jest nakładką dla procedury. Przekonwertowana funkcja wywołuje procedurę implementowania.

SSMA może konwertować wywołania funkcji otoki na wywołania procedury. Spowoduje to utworzenie bardziej czytelnego kodu i zwiększenie wydajności. Jednak kontekst nie zawsze go zezwala; na przykład nie można zastąpić wywołania funkcji na liście SELECT wywołaniem procedury. SSMA ma kilka opcji, które obejmują typowe przypadki:

  • W przypadku wybrania opcji Zawszeprogram SSMA próbuje przekonwertować wywołania funkcji opakowującej na wywołania procedur. Jeśli bieżący kontekst nie zezwala na tę konwersję, zostanie wygenerowany komunikat o błędzie. W ten sposób żadne wywołania funkcji nie są pozostawione w wygenerowanym kodzie.

  • Jeśli wybierzesz Jeśli to możliwe, SSMA używa wywołań procedur tylko wtedy, gdy funkcja ma parametry wyjściowe. Gdy przeniesienie nie jest możliwe, atrybut wyjściowy parametru zostanie usunięty. We wszystkich innych przypadkach SSMA pozostawia wywołania funkcji.

  • Jeśli wybierzesz opcję Nigdy, SSMA pozostawi wszystkie wywołania funkcji bez zmian. Czasami ten wybór może być niedopuszczalny ze względu na wydajność.

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Gdy to możliwe

Konwertowanie instrukcji LOCK TABLE

Funkcja SSMA może konwertować wiele instrukcji LOCK TABLE na wskazówki dotyczące tabeli. Program SSMA nie może przekonwertować żadnych instrukcji LOCK TABLE zawierających klauzule PARTITION, SUBPARTITION, @dblinki NOWAIT oraz oznacza takie instrukcje z komunikatami o błędach konwersji.

  • W przypadku wybrania opcji Takprogram SSMA konwertuje wspierane instrukcje LOCK TABLE na wskazówki dotyczące tabeli.

  • Jeśli wybierzesz opcję Brak, program SSMA oznaczy wszystkie instrukcje LOCK TABLE komunikatami o błędach konwersji.

W poniższej tabeli pokazano, jak program SSMA konwertuje tryby blokady Db2:

Tryb blokady Db2 Wskazówka dotycząca tabeli programu SQL Server
UDZIAŁ W WIERSZU ROWLOCK, HOLDLOCK
WYŁĄCZNOŚĆ WIERSZA ROWLOCK, XLOCK, HOLDLOCK
AKTUALIZACJA AKCJI = UDZIAŁ W WIERSZU ROWLOCK, HOLDLOCK
UDOSTĘPNIJ TABLOCK, HOLDLOCK
BLOKADA WYŁĄCZNA NA WIERSZU TABLOCK, XLOCK, HOLDLOCK
WYŁĄCZNY TABLOCKX, HOLDLOCK

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwersja instrukcji OPEN-FOR dla parametrów REF CURSOR OUT

W Db2 instrukcja OPEN-FOR może być użyta do zwrócenia zestawu wyników do parametru OUT typu REF CURSOR w podprogramie. W programie SQL Server procedury składowane bezpośrednio zwracają wyniki instrukcji SELECT.

Funkcja SSMA może konwertować wiele instrukcji OPEN-FOR na instrukcje SELECT.

  • W przypadku wybrania opcji Takusługa SSMA konwertuje instrukcję OPEN-FOR na instrukcję SELECT, która zwraca zestaw wyników do klienta.

  • W przypadku wybrania opcji Brakusługa SSMA generuje komunikat o błędzie w przekonwertowanym kodzie i w okienku Dane wyjściowe.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwertuj rekord na listę oddzielnych zmiennych

Program SSMA może konwertować rekordy Db2 na oddzielne zmienne i zmienne XML o określonej strukturze.

  • W przypadku wybrania opcji Takprogram SSMA konwertuje rekord na listę oddzielnych zmiennych, jeśli jest to możliwe.

  • W przypadku wybrania opcji Brakprogram SSMA konwertuje rekord na zmienne XML z określoną strukturą.

Wybierając tryb konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwertowanie wywołań funkcji SUBSTR na wywołania funkcji SUBSTRING

Program SSMA może konwertować wywołania funkcji SUBSTR db2 na podciąg podciągów wywołania funkcji w zależności od liczby parametrów. Jeśli funkcja SSMA nie może przekonwertować wywołania funkcji SUBSTR lub liczba parametrów nie jest obsługiwana, funkcja SSMA konwertuje wywołanie funkcji SUBSTR na niestandardowe wywołanie funkcji SSMA.

  • W przypadku wybrania opcji Takusługa SSMA konwertuje wywołania funkcji SUBSTR, które używają trzech parametrów do podciągów programu SQL Server . Inne funkcje SUBSTR zostaną przekonwertowane na wywołanie niestandardowej funkcji SSMA.

  • W przypadku wybrania opcji Bezusługa SSMA konwertuje wywołanie funkcji SUBSTR na niestandardowe wywołanie funkcji SSMA.

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny tryb: Tak

Tryb Pełny : Nie

Konwertowanie podtypów

Program SSMA może konwertować podtypy PL/SQL na dwa sposoby:

  • W przypadku wybrania Tak, program SSMA utworzy typ zdefiniowany przez użytkownika dla programu SQL Server z podtypu i użyje go dla każdej zmiennej tego podtypu.

  • Jeśli wybierzesz Nie, program SSMA zastępuje wszystkie deklaracje źródłowego podtypu typem bazowym i konwertuje wynik w zwykły sposób. W takim przypadku w programie SQL Server nie są tworzone żadne dodatkowe typy

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: nie

Konwertowanie synonimów

Synonimy dla następujących obiektów Db2 można migrować do programu SQL Server:

  • Tabele i tabele obiektów
  • Widoki i widoki obiektów
  • Procedury składowane i funkcje
  • Zmaterializowane widoki

Synonimy dla następujących obiektów Db2 można zastąpić bezpośrednimi odwołaniami do obiektów:

  • Sekwencje
  • Pakiety
  • Obiekty schematu klasy Java
  • Typy obiektów zdefiniowanych przez użytkownika

Nie można migrować pozostałych synonimów. Funkcja SSMA generuje komunikaty o błędach dla synonimu i wszystkich odwołań, które używają synonimu.

  • W przypadku wybrania Takprogram SSMA tworzy synonimy programu SQL Server i odwołania do obiektów bezpośrednich zgodnie z poprzednimi listami.

  • W przypadku wybrania Brakprogram SSMA tworzy bezpośrednie odwołania do obiektów dla wszystkich synonimów wymienionych tutaj.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwertowanie TO_CHAR(data, format)

Program SSMA może przekonwertować funkcję Db2 TO_CHAR(data, format) na procedury z bazy danych sysdb.

  • W przypadku wybrania opcji Using TO_CHAR_DATE functionprogram SSMA konwertuje TO_CHAR(data, format) na funkcję TO_CHAR_DATE przy użyciu języka angielskiego na potrzeby konwersji.

  • W przypadku wybrania opcji Using TO_CHAR_DATE_LS function (NLS care), program SSMA konwertuje wyrażenie TO_CHAR(data, format) na funkcję TO_CHAR_DATE_LS, wykorzystując język sesji do konwersji.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące określenie:

domyślny/optymistyczny tryb: Korzystanie z funkcji TO_CHAR_DATE

tryb pełny : Korzystanie z funkcji TO_CHAR_DATE_LS (opieka NLS)

Konwersja instrukcji przetwarzania transakcji

Program SSMA może konwertować instrukcje przetwarzania transakcji Db2:

  • W przypadku wybrania opcji Takprogram SSMA konwertuje instrukcje przetwarzania transakcji Db2 na instrukcje programu SQL Server.

  • W przypadku wybrania opcji Brakprogram SSMA oznacza instrukcje przetwarzania transakcji jako błędy konwersji.

Notatka

Baza danych Db2 otwiera transakcje niejawnie. Aby emulować to zachowanie w programie SQL Server, należy ręcznie dodać instrukcje BEGIN TRANSACTION, w których mają być uruchamiane transakcje. Alternatywnie możesz wykonać polecenie SET IMPLICIT_TRANSACTIONS ON na początku sesji. Program SSMA dodaje funkcję SET IMPLICIT_TRANSACTIONS ON automatycznie podczas konwertowania podroutyn z transakcjami autonomicznymi.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Emuluj zachowanie wartości null w Db2 w klauzulach ORDER BY

Wartości NULL są uporządkowane inaczej w programach SQL Server i Db2:

  • W programie SQL Server wartości NULL są najniższymi wartościami na liście uporządkowanej. Na liście rosnącej NULL wartości są wyświetlane jako pierwsze.

  • W Db2 wartości NULL są najwyższymi wartościami na liście uporządkowanej. Domyślnie wartości NULL pojawiają się jako ostatnie w porządku rosnącym.

  • Db2 posiada klauzule NULLS FIRST i NULLS LAST, co umożliwia zmianę sposobu sortowania wartości NULL przez Db2.

SSMA może emulować sposób działania Db2 ORDER BY, poprzez sprawdzanie wartości NULL. Następnie najpierw porządkuje wartości NULL w określonej kolejności, a następnie porządkuje według innych wartości.

  • W przypadku wybrania Takprogram SSMA konwertuje instrukcję Db2 w sposób emulujący zachowanie Db2 ORDER BY.

  • W przypadku wybrania opcji Nieusługa SSMA ignoruje reguły Db2 i generuje komunikat o błędzie, gdy napotka klauzule NULLS FIRST i NULLS LAST.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny tryb: nie

Pełny tryb : Tak

Emuluj wyjątki liczby wierszy w funkcji SELECT

Jeśli instrukcja SELECT z klauzulą INTO nie zwraca żadnych wierszy, db2 zgłasza wyjątek NO_DATA_FOUND. Jeśli instrukcja zwraca co najmniej dwa wiersze, zostanie zgłoszony wyjątek TOO_MANY_ROWS. Przekonwertowana instrukcja w programie SQL Server nie zgłasza żadnego wyjątku, jeśli liczba wierszy różni się od jednej.

  • W przypadku wybrania Takfunkcja SSMA dodaje wywołanie procedury sysdb db_error_exact_one_row_check po każdej instrukcji SELECT. Ta procedura emuluje wyjątki NO_DATA_FOUND i TOO_MANY_ROWS. Jest to ustawienie domyślne i umożliwia odtwarzanie zachowania bazy danych Db2 tak blisko, jak to możliwe. Zawsze należy wybrać Tak, jeśli kod źródłowy ma procedury obsługi wyjątków, które przetwarzają te błędy. Jeśli instrukcja SELECT występuje wewnątrz funkcji zdefiniowanej przez użytkownika, ten moduł jest konwertowany na procedurę składowaną, ponieważ wykonywanie procedur składowanych i wywoływanie wyjątków nie jest zgodne z kontekstem funkcji programu SQL Server.

  • Jeśli wybierzesz Nie, nie są generowane żadne wyjątki. Może to być przydatne, gdy funkcja SSMA konwertuje funkcję zdefiniowaną przez użytkownika i chcesz, aby pozostała funkcją w programie SQL Server

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Generowanie błędu dla DBMS_SQL.PARSE

  • W przypadku wybrania Błąd, program SSMA generuje błąd podczas konwersji w DBMS_SQL.PARSE.

  • W przypadku wybrania Ostrzeżenie, program SSMA generuje ostrzeżenie podczas konwersji DBMS_SQL.PARSE.

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: błąd

Generowanie kolumny ROWID

Gdy program SSMA tworzy tabele w programie SQL Server, może utworzyć kolumnę ROWID. Podczas migracji danych każdy wiersz uzyskuje nową wartość UNIQUEIDENTIFIER wygenerowaną przez funkcję newid().

  • Jeśli wybierzesz Tak, kolumna ROWID zostanie utworzona we wszystkich tabelach, a program SQL Server generuje identyfikatory GUID podczas wstawiania wartości. Zawsze wybieraj Tak, jeśli planujesz użyć testera SSMA.

  • Jeśli wybierzesz Nie, kolumny ROWID nie są dodawane do tabel.

  • dodaj kolumnę ROWID dla tabel z wyzwalaczami dodaj identyfikator ROWID dla tabel zawierających wyzwalacze (domyślnie).

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny tryb: Dodaj kolumnę ROWID dla tabel z wyzwalaczami

Pełny tryb: Tak

Generowanie unikatowego indeksu w kolumnie ROWID

Określa, czy funkcja SSMA generuje unikatową kolumnę indeksu na wygenerowanej kolumnie ROWID, czy też nie. Jeśli opcja jest ustawiona na YES, generowany jest unikatowy indeks. Jeśli ustawiono wartość NO, unikatowy indeks nie zostanie wygenerowany w kolumnie ROWID.

Po wybraniu trybu konwersji w polu Tryb, program SSMA zastosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwersja modułów lokalnych

Definiuje typ konwersji zagnieżdżonego podprogramu Db2 (zadeklarowanego w autonomicznej procedurze składowanej lub funkcji).

  • Jeśli wybierzesz wbudowane, zagnieżdżone wywołania podprogramu zostaną zastąpione jego treścią.

  • W przypadku wybrania procedur składowanychzagnieżdżony podprogram zostaje przekonwertowany na procedurę składowaną SQL Server, a jego wywołania są zastępowane przez wywołanie tej procedury.

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: w linii

Użyj funkcji ISNULL do łączenia ciągów

Bazy danych Db2 i serwer SQL Server zwracają różne wyniki, gdy łączenie ciągów zawiera wartości NULL. Db2 traktuje wartość NULL jak pusty zestaw znaków. SQL Server zwraca NULL.

  • W przypadku wybrania Takprogram SSMA zastępuje znak łączenia Db2 (||) znakiem łączenia programu SQL Server (+). Funkcja SSMA sprawdza również wyrażenia po obu stronach konkatenacji w poszukiwaniu wartości NULL.

  • Jeśli wybierzesz Brak, program SSMA zastępuje znaki łączenia, ale nie sprawdza wartości NULL.

Po wybraniu trybu konwersji w polu Tryb SSMA stosuje następujące ustawienie:

Użyj ISNULL w wywołaniach funkcji REPLACE

Instrukcja ISNULL jest używana w wywołaniach funkcji REPLACE w celu emulowania zachowania Db2. Dla tego ustawienia są dostępne następujące opcje:

  • TAK
  • NIE

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny tryb: nie

Tryb pełny: Tak

Używanie funkcji ISNULL w wywołaniach funkcji CONCAT

Instrukcja ISNULL jest używana w wywołaniach funkcji CONCAT w celu emulowania zachowania Db2. Dla tego ustawienia są dostępne następujące opcje:

  • TAK
  • NIE

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny tryb: nie

Pełny tryb: Tak

Użyj natywnej funkcji convert, jeśli jest to możliwe

  • W przypadku wybrania opcji Takprogram SSMA konwertuje TO_CHAR(data, format) na natywną funkcję konwersji, gdy jest to możliwe.

  • W przypadku wybrania opcji Brakprogram SSMA konwertuje TO_CHAR(data, format) na TO_CHAR_DATE lub TO_CHAR_DATE_LS (zdefiniowane przez opcje "Konwertuj TO_CHAR(data, format)".

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny tryb: Tak

Pełny Tryb: Nie

Użyj SELECT...FOR XML podczas konwertowania SELECT...INTO dla zmiennej rekordu.

Określa, czy podczas wybierania w zmiennej rekordu ma być generowany zestaw wyników XML.

  • W przypadku wybrania Takinstrukcja SELECT zwraca kod XML.

  • W przypadku wybrania opcji Brakinstrukcja SELECT zwraca zestaw wyników.

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: nie

Konwersja RETURNING klauzuli

Konwertowanie klauzuli RETURNING w instrukcji DELETE na OUTPUT

Db2 udostępnia klauzulę RETURNING jako sposób natychmiastowego uzyskania usuniętych wartości. Program SQL Server udostępnia te funkcje z klauzulą OUTPUT.

  • W przypadku wybrania TakSSMA konwertuje klauzule RETURNING w instrukcjach DELETE na klauzule OUTPUT. Ponieważ wyzwalacze w tabeli mogą zmieniać wartości, zwracana wartość może być inna w programie SQL Server niż w bazie danych Db2.

  • W przypadku wybrania opcji Brakusługa SSMA generuje instrukcję SELECT przed instrukcjami DELETE w celu pobrania zwróconych wartości.

Po wybraniu trybu konwersji w polu Tryb program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwertowanie klauzuli RETURNING w instrukcji INSERT na OUTPUT

Db2 udostępnia klauzulę RETURNING jako sposób natychmiastowego uzyskania wstawionych wartości. Program SQL Server udostępnia te funkcje z klauzulą OUTPUT.

  • W przypadku wybrania opcji Takprogram SSMA konwertuje klauzulę RETURNING w instrukcji INSERT na wartość OUTPUT. Ponieważ wyzwalacze w tabeli mogą zmieniać wartości, zwracana wartość może być inna w programie SQL Server niż w bazie danych Db2.

  • W przypadku wybrania opcji Braknarzędzie SSMA emuluje funkcję Db2, wstawiając, a następnie wybierając wartości z tabeli referencyjnej.

Po wybraniu trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwertowanie klauzuli RETURNING w instrukcji UPDATE na OUTPUT

Db2 udostępnia klauzulę RETURNING jako sposób natychmiastowego uzyskania zaktualizowanych wartości. Program SQL Server udostępnia te funkcje z klauzulą OUTPUT.

  • W przypadku wybrania Takprogram SSMA konwertuje klauzule RETURNING w instrukcjach UPDATE na klauzule OUTPUT. Ponieważ wyzwalacze w tabeli mogą zmieniać wartości, zwracana wartość może być inna w programie SQL Server niż w bazie danych Db2.

  • W przypadku wybrania opcji Brakprogram SSMA wygeneruje instrukcje SELECT po instrukcjach UPDATE w celu pobrania zwracanych wartości.

Przy wyborze trybu konwersji w polu Tryb, program SSMA stosuje następujące ustawienie:

domyślny/optymistyczny/pełny tryb: Tak

Konwersja sekwencji

Konwertowanie generatora sekwencji

W usłudze Db2 można użyć sekwencji do generowania unikatowych identyfikatorów.

Program SSMA może konwertować sekwencje na następujące.

  • Korzystanie z generatora sekwencji programu SQL Server.

  • Korzystanie z generatora sekwencji SSMA.

  • Używanie identyfikatora kolumny.

Domyślną opcją podczas konwertowania na program SQL Server jest użycie generatora sekwencji. Jednak programy SQL Server 2012 (11.x) i SQL Server 2014 (12.x) nie obsługują uzyskiwania bieżącej wartości sekwencji (takiej jak metoda currval sekwencji Db2). Zapoznaj się z blogiem zespołu SSMA, aby uzyskać wskazówki dotyczące migrowania funkcji currval dla sekwencji Db2.

Program SSMA udostępnia również opcję konwersji sekwencji Db2 na emulator sekwencji SSMA.

Na koniec możesz również przekonwertować sekwencję przypisaną do kolumny w tabeli na wartości tożsamości programu SQL Server. Należy określić mapowanie między sekwencjami a kolumną tożsamości na karcie Db2 Tabela

Konwertowanie wyzwalaczy zewnętrznych CURRVAL

Widoczne tylko wtedy, gdy generator sekwencji konwersji jest ustawiony na przy użyciu tożsamości kolumny. Ponieważ sekwencje Db2 są obiektami oddzielonymi od tabel, wiele tabel używających sekwencji używa wyzwalacza do generowania i wstawiania nowej wartości sekwencji. SSMA komentuje te instrukcje lub oznacza je jako błędy, gdy zakomentowanie spowodowałoby ich wystąpienie.

  • W przypadku wybrania TakSSMA oznacza wszystkie odwołania do wyzwalaczy zewnętrznych w przekonwertowanej sekwencji CURRVAL z ostrzeżeniem.

  • W przypadku wybrania No, SSMA oznacza wszystkie odwołania do zewnętrznych wyzwalaczy w przekonwertowanej sekwencji CURRVAL jako błąd.