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:
Schemat do bazy danych: W tym trybie
sch1
schemat Db2 jest domyślnie mapowany nadbo
schemat SQL Server w bazie danych SQL Serversch1
.Schemat schematu: W tym trybie
sch1
schemat db2 jest domyślnie mapowany nasch1
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ącejNULL
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ściNULL
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.