Udostępnij przez


Ustawienia projektu (konwersja) (SybaseToSQL)

Strona Konwersja okna dialogowego Ustawienia projektu zawiera ustawienia, które umożliwiają dostosowanie sposobu konwertowania składni programu SAP Adaptive Server Enterprise (ASE) na program SQL Server lub składnię usługi Azure SQL.

Okienko Konwersja jest dostępne w oknach dialogowych Ustawienia projektu i Domyślne ustawienia projektu :

  • Jeśli chcesz określić ustawienia dla wszystkich projektów SSMA, w menu Narzędzia wybierz pozycję Domyślne ustawienia projektu, kliknij pozycję Ogólne w dolnej części okienka po lewej stronie, a następnie kliknij pozycję Konwersja.

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

Sekcja różna

BŁĄD

Programy SQL Server/Azure SQL i ASE używają różnych kodów błędów.

Użyj tego ustawienia, aby określić typ komunikatu (ostrzeżenie lub błąd), który program SSMA wyświetla w panelu Dane wyjściowe lub Lista błędów, gdy napotka odwołanie do @@ERROR w kodzie środowiska ASE.

  • Jeśli wybierzesz pozycję Konwertuj i oznacz ostrzeżeniem, program SSMA przekonwertuje instrukcje i oznaczy je komentarzami ostrzegawczymi.
  • Jeśli wybierzesz pozycję Oznacz jako błąd, funkcja SSMA pominie konwersję i oznaczy instrukcje komentarzami błędu.

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

Tryb Wartość
Wartość domyślna Konwertuj i oznacz ostrzeżeniem
Optymistyczny Konwertuj i oznacz ostrzeżeniem
Pełny Zaznacz jako błąd

Konwersja operatora LIKE

Określa, czy przekonwertować LIKE operandy tak, aby odpowiadały zachowaniu środowiska SAP ASE. Chodzi o to, że usługa ASE przycina końcowe spacje w podobnym wzorcu. Obejście polega na utworzeniu rzutowania odpowiedniego wyrażenia na typ danych o stałej długości z maksymalną dokładnością.

  • Wybierz pozycję Prosta konwersja , aby przekonwertować wyrażenia bez żadnej korekty.
  • Aby użyć zachowania środowiska ASE, wybierz opcję Rzutuj na stałą długość.

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

Tryb Wartość
Wartość domyślna Konwersja prosta
Optymistyczny Konwersja prosta
Pełny Rzutowanie na stałą długość

Konwertowanie lub rzutowanie pustych ciągów na typy liczbowe

Określa sposób obsługi pustych lub pustych ciągów znaków w wyrażeniach CONVERT lub CAST z argumentem typu danych jako typ liczbowy. Dla tego ustawienia są dostępne następujące opcje:

  • Wybierz pozycję Prosta konwersja , aby przekonwertować wyrażenia bez żadnej korekty.
  • Jeśli wybrano pusty ciąg jako zero liczbowy , parametr {s} ciągu zostanie zastąpiony wyrażeniem CASE ltrim(rtrim({s})) WHEN "" THEN 0 else {s} END .

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

Tryb Wartość
Wartość domyślna Konwersja prosta
Optymistyczny Konwersja prosta
Pełny Pusty ciąg jako liczba zero

Łączenie wartości NULL

To ustawienie określa sposób konwertowania łączenia ciągów za pomocą NULL. Dla tego określonego ustawienia można ustawić następujące opcje:

  • Jeśli opcja Zawijaj z funkcją ISNULL jest zaznaczona, każdy niestały string_expression w połączeniu zostanie otoczony z ISNULL(string_expression), a wartości NULL zostaną zastąpione pustym ciągiem.
  • Zachowaj bieżącą składnię , zachowaj oryginalną składnię.

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

Tryb Wartość
Wartość domyślna Zachowaj bieżącą składnię
Optymistyczny Zachowaj bieżącą składnię
Pełny Zawijanie za pomocą funkcji ISNULL

Konwersja pustych ciągów

To ustawienie określa sposób konwertowania pustych ciągów. Dla tego określonego ustawienia można ustawić następujące opcje:

  • Zamień wszystkie wyrażenia ciągu na spację
  • Zastępowanie pustych stałych ciągów spacją

Aby użyć zachowania SQL Server/SQL Azure, wybierz pozycję Zachowaj bieżącą składnię.

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

Tryb Wartość
Wartość domyślna Zachowaj bieżącą składnię
Optymistyczny Zachowaj bieżącą składnię
Pełny Zamień wszystkie wyrażenia ciągu na spację

Konwersja ciągów binarnych KONWERTUJ i CAST

Konwersja wartości binarnych na liczby może zwracać różne wartości na różnych platformach. Na przykład w przypadku procesorów x86 CONVERT(integer, 0x00000100) zwraca wartość 65536 w środowisku ASE, ale 256 w programie SQL Server. Usługa ASE zwraca również różne wartości w zależności od kolejności bajtów.

To ustawienie służy do kontrolowania sposobu konwertowania CONVERT i CAST wyrażeń SSMA zawierających wartości binarne:

  • Wybierz pozycję Prosta konwersja , aby przekonwertować wyrażenia bez żadnych ostrzeżeń ani poprawek. Użyj tego ustawienia, jeśli wiesz, że serwer środowiska ASE ma kolejność bajtów, która nie wymaga żadnych zmian wartości binarnej.
  • Wybierz pozycję Konwertuj i popraw, aby program SSMA konwertował i poprawiał wyrażenia do użycia w programie SQL Server. Kolejność bajtów w literałach zostanie odwrócona. Wszystkie inne wartości binarne (takie jak zmienne binarne i kolumny) zostaną oznaczone błędami. Użyj tej wartości, jeśli wiesz, że serwer środowiska ASE ma kolejność bajtów, która wymaga zmian w wartościach binarnych.

Wybierz pozycję Konwertuj i oznacz z ostrzeżeniem , aby program SSMA konwertował i poprawiał wyrażenia, a następnie oznacz wszystkie przekonwertowane wyrażenia z komentarzami ostrzegawczymi.

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

Tryb Wartość
Wartość domyślna Konwertuj i oznacz ostrzeżeniem
Optymistyczny Konwersja prosta
Pełny Konwertowanie i poprawianie

Dynamiczny język SQL

To ustawienie służy do określania typu komunikatu (Ostrzeżenie lub Błąd), który SSMA wyświetla w okienku Dane wyjściowe lub Lista błędów, gdy napotyka dynamiczny SQL w kodzie ASE.

  • W przypadku wybrania opcji Konwertuj i oznacz jako ostrzeżenie program SSMA przekonwertuje dynamiczny kod SQL i oznaczy instrukcje z komentarzami ostrzegawczymi.
  • Jeśli wybierzesz pozycję Oznacz jako błąd, funkcja SSMA pominie konwersję i oznaczy instrukcje komentarzami błędu.

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

Tryb Wartość
Wartość domyślna Konwertuj i oznacz ostrzeżeniem
Optymistyczny Konwertuj i oznacz ostrzeżeniem
Pełny Zaznacz jako błąd

Konwersja sprawdzania równości

W SQL Serverze/Usłudze SQL Azure, jeśli ustawienie ANSI_NULLS jest włączone, kiedy jakiekolwiek porównanie równości zawiera wartość UNKNOWN, zwracana jest wartość NULL przez SQL Server/Usługę SQL Azure. Jeśli ANSI_NULLS jest wyłączona, porównania równości zawierające NULL wartości zwracają wartość true, gdy porównywana kolumna i wyrażenie lub dwa wyrażenia są oba NULL. Domyślnie (ANSINULL OFF) porównania dla równości w środowisku SAP ASE zachowują się tak jak SQL Server/Azure SQL z ANSI_NULLS OFF.

  • W przypadku wybrania opcji Konwersja prosta funkcja SSMA przekonwertuje kod środowiska ASE na składnię SQL Server/Azure SQL bez dodatkowych testów wartości NULL . Użyj tego ustawienia, jeśli ANSI_NULLS znajduje się OFF w programie SQL Server/usłudze Azure SQL lub jeśli chcesz skorygować porównania równości dla poszczególnych przypadków.
  • Wybierając Rozważ wartości NULL, funkcja SSMA doda kontrole dla wartości NULL za pomocą klauzul IS NULL i IS NOT NULL.

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

Tryb Wartość
Wartość domyślna Konwersja prosta
Optymistyczny Konwersja prosta
Pełny Rozważ wartości NULL

Formatowanie ciągów

Program SQL Server/Azure SQL już nie obsługuje argumentu format_string w instrukcjach PRINT i RAISERROR. format_string Argument umożliwia umieszczanie parametry zamienialne bezpośrednio w ciągu tekstowym, a następnie ich zastąpienie w czasie wykonywania. Zamiast tego program SQL Server wymaga pełnego ciągu przy użyciu literału ciągu lub ciągu utworzonego przy użyciu zmiennej. Aby uzyskać więcej informacji, zobacz temat PRINT (Transact-SQL).

Gdy SSMA napotka argument format_string, może zbudować literał ciągu, korzystając ze zmiennych, lub stworzyć nową zmienną i zbudować ciąg, korzystając z tej zmiennej.

  • Aby użyć literału ciągu dla funkcji PRINT i RAISERROR, wybierz pozycję Utwórz nowy ciąg.

    W tym trybie, jeśli instrukcja PRINT lub RAISERROR nie używa symboli zastępczych i zmiennych lokalnych, instrukcja jest niezmieniona. Znaki podwójnego procentu (%%) są zmieniane na jeden znak procentu % w literałach stringu PRINT.

    Jeśli instrukcja PRINT lub RAISERROR używa symboli zastępczych i co najmniej jednej zmiennej lokalnej, na przykład w poniższym przykładzie:

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

    Program SSMA przekonwertuje go na następującą składnię:

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

    Jeśli format_string jest zmienną, taką jak w następującej instrukcji:

    PRINT @fmt, @arg1, @arg2
    

    Program SSMA nie może wykonać prostej konwersji ciągów i musi utworzyć nową zmienną:

    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
    

    W przypadku korzystania z trybu Tworzenia nowego ciągu program SSMA zakłada, że opcja CONCAT_NULL_YIELDS_NULL programu SQL Server to OFF. W związku z tym funkcja SSMA nie sprawdza argumentów o wartości null.

  • Aby za pomocą funkcji SSMA utworzyć nową zmienną dla każdej PRINT instrukcji i RAISERROR , a następnie użyć tej zmiennej dla wartości ciągu, wybierz pozycję Utwórz nową zmienną.

    W tym trybie, jeśli instrukcja PRINT or RAISERROR nie używa symboli zastępczych i zmiennych lokalnych, funkcja SSMA zastępuje wszystkie znaki podwójnego procentu (%%) pojedynczymi znakami procentowymi, aby były zgodne ze składnią programu SQL Server/usługi Azure SQL.

    Jeśli instrukcja PRINT or RAISERROR używa symboli zastępczych i co najmniej jednej zmiennej lokalnej, na przykład w poniższym przykładzie:

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

    Program SSMA przekonwertuje go na następującą składnię:

    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
    

    Jeśli format_string jest zmienną, taką jak w następującej instrukcji:

    PRINT @fmt, @arg1, @arg2
    

    Funkcja SSMA tworzy nową zmienną w następujący sposób, sprawdzając wartości null w każdym argumencie:

    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
    

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

Tryb Wartość
Wartość domyślna Tworzenie nowego ciągu
Optymistyczny Tworzenie nowego ciągu
Pełny Tworzenie nowej zmiennej

Wstaw jawną wartość do kolumny znacznika czasu

Program SQL Server/Azure SQL nie obsługuje wstawiania jawnych wartości do kolumny znacznika czasu.

  • Aby wykluczyć kolumny znacznika czasu z INSERT instrukcji, wybierz pozycję Wyklucz kolumnę.
  • Aby drukować komunikat o błędzie za każdym razem, gdy kolumna znacznika czasu znajduje się w INSERT instrukcji, wybierz pozycję Oznacz jako błąd. W tym trybie INSERT instrukcje nie zostaną przekonwertowane i zostaną oznaczone komentarzami o błędach.

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

Tryb Wartość
Wartość domyślna Wyklucz kolumnę
Optymistyczny Wyklucz kolumnę
Pełny Zaznacz jako błąd

Przechowywanie obiektów tymczasowych zdefiniowanych w procedurach

To ustawienie określa, czy definicje obiektów tymczasowych, które pojawiają się w procedurach, powinny być przechowywane w metadanych źródłowych podczas konwersji.

  • Wybierz pozycję Tak , aby przechowywać metadane.
  • Wybierz pozycję Nie , jeśli obiekty nie muszą być przechowywane.
Tryb Wartość
Wartość domyślna Tak
Optymistyczny Tak
Pełny Nie.

Konwersja tabeli serwera proxy

Określa, czy tabele serwera proxy środowiska ASE są konwertowane na tabele programu SQL Server/Azure SQL lub nie są konwertowane, a kod jest oznaczony komentarzem o błędach.

  • Wybierz pozycję Konwertuj , aby przekonwertować tabele serwera proxy na zwykłe tabele.
  • Wybierz Oznacz z błędami, aby po prostu oznaczyć kod tabeli proxy komentarzami o błędach.

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

Tryb Wartość
Wartość domyślna Zaznacz jako błąd
Optymistyczny Zaznacz jako błąd
Pełny Zaznacz jako błąd

Podstawowy numer komunikatu RAISERROR

Komunikaty użytkowników środowiska ASE są przechowywane w każdej bazie danych. Komunikaty użytkowników programu SQL Server są centralnie przechowywane i udostępniane za pośrednictwem sys.messages widoku wykazu. Ponadto komunikaty użytkownika środowiska ASE zaczynają się od 20000, ale komunikaty o błędach programu SQL Server zaczynają się od 50001.

To ustawienie określa liczbę, która ma zostać dodana do numeru komunikatu użytkownika środowiska ASE w celu przekonwertowania go na komunikat użytkownika programu SQL Server. Jeśli program SQL Server ma komunikaty użytkownika w sys.messages widoku wykazu, może być konieczne zmianę tej liczby na wyższą wartość. Jest to tak, że przekonwertowane numery komunikatów nie powodują konfliktu z istniejącymi numerami komunikatów.

Należy zwrócić uwagę na następujące kwestie:

  • Komunikaty środowiska ASE w zakresie 17000-19999 pochodzą z tabeli systemowej sysmessages i nie są konwertowane.
  • Jeśli numer komunikatu, do którego odwołuje się instrukcja RAISERROR , jest stałą, funkcja SSMA doda numer komunikatu podstawowego do stałej w celu określenia nowego numeru komunikatu użytkownika.
  • Jeśli numer komunikatu, do którego odwołuje się odwołanie, jest zmienną lub wyrażeniem, program SSMA utworzy pośrednią zmienną lokalną.
  • W trybie optymistycznym funkcja SSMA zakłada, że opcja CONCAT_NULL_YIELDS_NULL programu SQL Server jest OFF i nie sprawdza NULL argumentów.
  • W trybie pełnym SSMA sprawdza NULL argumenty.
  • RAISERROR z argumentem arg-list nie jest konwertowany.

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

Tryb Wartość
Wartość domyślna 30001
Optymistyczny 30001
Pełny 30001

Obiekty systemowe

Użyj tego ustawienia, aby określić typ komunikatu (ostrzeżenie lub błąd), który SSMA wyświetla w okienku Dane wyjściowe lub Lista błędów, gdy zidentyfikuje użycie obiektów systemu ASE.

  • W przypadku wybrania opcji Konwertuj i oznacz jako ostrzeżenie funkcja SSMA konwertuje odwołania do obiektów systemowych i oznaczy instrukcje z komentarzami ostrzegawczymi.
  • Jeśli wybierzesz pozycję Oznacz z błędem, funkcja SSMA nie konwertuje odwołań do obiektów systemów i oznaczy instrukcje z komentarzami o błędach.

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

Tryb Wartość
Wartość domyślna Konwertuj i oznacz ostrzeżeniem
Optymistyczny Konwertuj i oznacz ostrzeżeniem
Pełny Zaznacz jako błąd

Nierozwiązane identyfikatory

Użyj tego ustawienia, aby określić typ komunikatu (ostrzeżenie lub błąd), który jest wyświetlany przez program SSMA w okienku Dane wyjściowe lub Lista błędów, gdy nie może rozpoznać identyfikatora.

  • W przypadku wybrania opcji Konwertuj i oznacz jako ostrzeżenie, program SSMA będzie próbował konwertować odwołania do nierozwiązanych identyfikatorów i oznaczy instrukcje komentarzami ostrzegawczymi.
  • Jeśli wybierzesz pozycję Oznacz z błędem, SSMA nie przekonwertuje odwołań do nierozwiązanych identyfikatorów i oznaczy instrukcje komentarzami o błędach.

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

Tryb Wartość
Wartość domyślna Konwertuj i oznacz ostrzeżeniem
Optymistyczny Konwertuj i oznacz ostrzeżeniem
Pełny Zaznacz jako błąd

Sekcja funkcji systemowych

Funkcja CHARINDEX

W środowisku ASE CHARINDEX zwraca NULL tylko wtedy, gdy wszystkie wyrażenia wejściowe to NULL. SQL Server/Azure SQL zwróci NULL, jeśli dowolne wyrażenie wejściowe to NULL.

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Zamień funkcję. Wszystkie wywołania funkcji CHARINDEX są zastępowane wywołaniem funkcji zdefiniowanej przez użytkownika CHARINDEX_VARCHAR lub CHARINDEX_NVARCHAR w zależności od typu przekazanych parametrów (utworzonych w bazie danych użytkownika pod nazwą schematu s2ss) w celu emulowania zachowania systemu SAP ASE.
  • Aby użyć zachowania SQL Server/SQL Azure, wybierz pozycję Zachowaj bieżącą składnię.

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

Tryb Wartość
Wartość domyślna Zachowaj bieżącą składnię
Optymistyczny Zachowaj bieżącą składnię
Pełny Zastąp funkcję

Funkcja DATALENGTH

Sql Server/Azure SQL i ASE różnią się wartością zwracaną przez DATALENGTH funkcję, gdy wartość jest jedną spacją. W takim przypadku serwer SQL Server/Azure SQL zwraca 0, a usługa ASE zwraca 1.

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Zamień funkcję. Wszystkie wywołania DATALENGTH funkcji są zastępowane wyrażeniem CASE w celu emulowania zachowania środowiska SAP ASE.
  • Aby użyć domyślnego zachowania programu SQL Server/usługi Azure SQL, wybierz pozycję Zachowaj bieżącą składnię.

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

Tryb Wartość
Wartość domyślna Zachowaj bieżącą składnię
Optymistyczny Zachowaj bieżącą składnię
Pełny Zastąp funkcję

Funkcja INDEX_COL

Środowisko ASE obsługuje opcjonalny argument user_id funkcji INDEX_COL, jednak środowisko SQL Server/Azure SQL go nie obsługuje. Jeśli używasz argumentu user_id , nie można przekonwertować tej funkcji na składnię SQL Server/Azure SQL.

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Konwertuj funkcję. Jeśli kod zawiera user_id argument, funkcja SSMA wyświetli błąd.
  • pl-PL: Aby wyświetlić komunikat o błędzie za każdym razem, gdy wystąpi INDEX_COL, wybierz pozycję Oznacz jako błąd. SSMA nie konwertuje odwołań do funkcji i oznacza instrukcję komentarzami o błędach.
Tryb Wartość
Wartość domyślna Zaznacz jako błąd
Optymistyczny Zaznacz jako błąd
Pełny Zaznacz jako błąd

Funkcja INDEX_COLORDER

Program SQL Server/Azure SQL nie ma funkcji systemowej INDEX_COLORDER .

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Konwertuj funkcję. Wszystkie wywołania funkcji INDEX_COLORDER są zastępowane wywołaniem funkcji zdefiniowanej przez użytkownika o nazwie INDEX_COLORDER, te samej co INDEX_COLORDER (utworzonej w bazie danych użytkownika pod nazwą schematu ), która emuluje działanie SAP ASE.
  • Aby wydrukować komunikat o błędzie za każdym razem, gdy INDEX_COLORDER jest napotkana, wybierz pozycję Oznacz jako błąd. SSMA nie konwertuje odwołań do funkcji i oznacza instrukcję komentarzami o błędach.

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

Tryb Wartość
Wartość domyślna Zaznacz jako błąd
Optymistyczny Zaznacz jako błąd
Pełny Zaznacz jako błąd

Funkcje LEFT i RIGHT

Funkcje LEFT i RIGHT w środowisku ASE zachowują się inaczej dla parametru o ujemnej długości.

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Zamień funkcję. Parametr length jest następnie zastępowany wyrażeniem CASE, które w przypadku wartości ujemnej zwróci NULL.
  • Aby użyć zachowania programu SQL Server, wybierz pozycję Zachowaj bieżącą składnię.

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

Tryb Wartość
Wartość domyślna Zachowaj bieżącą składnię
Optymistyczny Zachowaj bieżącą składnię
Pełny Zastąp funkcję

Uwaga / Notatka

Jeśli parametr length jest wartością literału, a nie wyrażeniem złożonym, wartość długości jest zawsze zastępowana NULL niezależnie od ustawienia projektu.

funkcja NEXT_IDENTITY

Program SQL Server/Azure SQL nie ma funkcji systemowej NEXT_IDENTITY .

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Konwertuj funkcję. Wszystkie wywołania NEXT_IDENTITY funkcji są zastępowane wyrażeniem (IDENT_CURRENT(parameter Value) + IDENT_INCR(parameter Value) , które emuluje zachowanie środowiska SAP ASE.
  • Aby wydrukować komunikat o błędzie za każdym razem, gdy NEXT_IDENTITY jest napotkana, wybierz pozycję Oznacz jako błąd. SSMA nie konwertuje odwołań do funkcji i oznacza instrukcję komentarzami o błędach.

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

Tryb Wartość
Wartość domyślna Zaznacz jako błąd
Optymistyczny Zaznacz jako błąd
Pełny Zaznacz jako błąd

Domyślny/optymistyczny/pełny tryb: Zaznacz błędem

Funkcja PATINDEX

Określa, czy funkcja PATINDEX ma być skonwertowana, aby odpowiadać zachowaniu SAP ASE. Punktem jest to, że ASE przycina końcowe puste znaki we wzorcu wyszukiwania. Obejściem jest utworzenie rzutowania wyrażenia wartości na typ danych o stałej długości i maksymalnej precyzji oraz zastosowanie funkcji rtrim do wzorca wyszukiwania.

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Użyj.
  • Aby użyć domyślnego zachowania programu SQL Server/usługi Azure SQL, wybierz pozycję Nie używaj.

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

Tryb Wartość
Wartość domyślna Nie używaj
Optymistyczny Nie używaj
Pełny Użyj

Funkcja REPLICATE

Funkcja REPLICATE powtarza ciąg o określonej liczbie razy. W środowisku ASE, jeśli określisz, aby powtórzyć ciąg zero razy, wynik to NULL. W programie SQL Server/usłudze Azure SQL wynik jest pustym ciągiem.

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Zamień funkcję. Wszystkie wywołania funkcji REPLICATE są zastępowane wywołaniem funkcji zdefiniowanej przez użytkownika REPLICATE_VARCHAR lub REPLICATE_NVARCHAR w zależności od typu przekazanych parametrów (utworzonych w bazie danych użytkownika pod nazwą schematu s2ss) w celu emulowania zachowania systemu SAP ASE.
  • Aby użyć domyślnego zachowania programu SQL Server/usługi Azure SQL, wybierz pozycję Zamień funkcję.

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

Tryb Wartość
Wartość domyślna Zastąp funkcję
Optymistyczny Zastąp funkcję
Pełny Zastąp funkcję

TRIM (LTRIM, RTRIM) Funkcja

To ustawienie określa, czy zastąpić wywołania funkcji TRIM, LTRIM i RTRIM funkcjami o składni równoważnej składni SAP ASE, czy zachować bieżącą składnię. Dla tego określonego ustawienia są dostępne następujące opcje:

  • Zastąp funkcję
  • Zachowaj bieżącą składnię

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

Tryb Wartość
Wartość domyślna Zastąp funkcję
Optymistyczny Zastąp funkcję
Pełny Zastąp funkcję

Funkcja SUBSTRING

W środowisku ASE funkcja SUBSTRING(expression, start, length) zwraca NULL wartość początkową większą niż liczba znaków w wyrażeniu lub jeśli długość jest równa zero. W programie SQL Server/Usłudze Azure SQL równoważne wyrażenie zwraca pusty ciąg.

  • Aby użyć zachowania środowiska ASE, wybierz pozycję Zamień funkcję. Wszystkie wywołania funkcji SUBSTRING są zastępowane wywołaniem funkcji SUBSTRING_VARCHAR, SUBSTRING_NVARCHAR lub SUBSTRING_VARBINARY zdefiniowanej przez użytkownika, w zależności od typu przekazanych parametrów (utworzonych w bazie danych użytkownika pod nazwą schematu s2ss), aby emulować zachowanie środowiska SAP ASE.
  • Aby użyć zachowania SQL Server/SQL Azure, wybierz pozycję Zachowaj bieżącą składnię.

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

Tryb Wartość
Wartość domyślna Zachowaj bieżącą składnię
Optymistyczny Zachowaj bieżącą składnię
Pełny Zastąp funkcję

Sekcja Tabele

Dodawanie klucza podstawowego

Tworzy nowy klucz podstawowy w tabeli SQL Server lub Azure SQL, jeśli tabela środowiska SAP ASE nie ma klucza podstawowego ani indeksu unikatowego.

Tryb Wartość
Wartość domyślna Nie.
Optymistyczny Nie.
Pełny Tak

Uwaga / Notatka

Po nawiązaniu połączenia z Azure SQL domyślnie jest Tak.

Zobacz też

dokumentacja interfejsu użytkownika (SybaseToSQL)