Microsoft Transaction Server - uwagi o wersji

W dokumencie tym zawarto najświeższe informacje dotyczące programu Microsoft® Transaction Server (MTS). Więcej informacji można znaleźć w następujących tematach:

Instalacja programu Microsoft Transaction Server
Wprowadzenie do programu Microsoft Transaction Server
Zapraszamy do pracy w programie Microsoft Transaction Server
Informacje z ostatniej chwili i znane ograniczenia


Informacje z ostatniej chwili i znane ograniczenia

W poniższych paragrafach zawarto informacje z ostatniej chwili, nie uwzględnione w zwykłej dokumentacji, a także znane błędy i ograniczenia programu.

Ustawianie tożsamości pakietu systemowego

Podczas instalowania programu MTS należy ustawić tożsamość pakietu systemowego przed utworzeniem jakichkolwiek nowych pakietów:

  1. Utwórz nową grupę lokalną systemu Windows NTO o nazwie “Administratorzy MTS” i nowego użytkownika lokalnego o nazwie “Administrator MTS”.

  2. Dodaj użytkownika “MTS Administrator” do grup “Administratorzy MTS” i "Administratorzy".

  3. Ustaw tożsamość pakietu systemowego na “Administrator MTS”.

  4. Zamknij pakiet systemowy. Następnym razem zostanie on uruchomiony z nową tożsamością.

Prawa użytkownika dla pakietów programu MTS

Upewnij się, że konto użytkownika dla pakietu systemowego i innych pakietów programu MTS ma prawo użytkownika systemu Windows NT "Logowanie w trybie usług". Można to sprawdzić używając Menedżera użytkowników systemu Windows NT:

  1. W menu Założenia wybierz polecenie Prawa użytkownika.

  2. Kliknij przycisk Pokaż zaawansowane prawa użytkownika.

Wymagania dotyczące oprogramowania klienta programu Oracle używanego z programem MTS

Aplikacje programu Microsoft Transaction Server mogą uzyskać dostęp do bazy danych programu Oracle znajdującej się w tym samym systemie, co program Microsoft Transaction Server. Należy się jednak upewnić, że zostało zainstalowane całe oprogramowanie opisane w pliku Pomocy programu Microsoft Transaction Server w paragrafie "Konfigurowanie programu Microsoft Transaction Server na dostęp do programu Oracle".

Aplikacje programu Microsoft Transaction Server mogą również uzyskać dostęp do bazy danych programu Oracle znajdującej się w zdalnym systemie Windows NT lub UNIX. Trzeba jednak zainstalować właściwe wersje oprogramowania klienta programu Oracle w systemie zawierającym składniki programu Microsoft Transaction Server. Wersje oprogramowania klienta programu Oracle muszą być takie same lub nowsze od poniższych:

Składnik Wersja
 
Oracle SQL*Net 2.3.3
Oracle OCIW32.DLL 1, 0, 0, 5
Oracle SQLLIB18.DLL 1.8.3.0.1
Oracle XA73.LIB 7.3.3.2.0


Używanie zintegrowanych zabezpieczeń programu Oracle z programem MTS

Baza danych programu Oracle ma zintegrowane zabezpieczenia, które używają funkcji uwierzytelniania systemu Windows NT do sprawdzania tożsamości użytkowników bazy danych. Umożliwia to użytkownikowi zalogowanie się do programu Oracle bez dodatkowego podawania nazwy konta użytkownika i hasła. Użytkownicy mogą mieć taką samą nazwę konta i hasło dla systemu Windows NT i bazy danych Oracle.

Jeśli dla składników programu MTS zawsze wymagane jest podawanie nazwy konta użytkownika i hasła przy łączeniu z bazami danych programu Oracle, to znaczy, że zintegrowane zabezpieczenia nie są używane. Jest tak niezależnie od tego, czy aplikacje określają nazwę konta użytkownika i hasło bezpośrednio, czy pośrednio poprzez ODBC DSN. W obu przypadkach zintegrowane zabezpieczenia nie są używane i można pominąć ten krok.

Jeśli zintegrowane zabezpieczenia są używane, to aby połączyć się z bazą danych programu Oracle, trzeba skonfigurować program MS DTC na uruchamianie z uwierzytelnioną nazwą użytkownika i hasłem. Jest to wymagane, ponieważ podczas odtwarzania bazy danych, program MS DTC otwiera bazę danych Oracle, aby raportować wynik transakcji wątpliwych. Odpowiednie informacje można znaleźć w paragrafie "Zmiana konta użytkownika, pod którym uruchamiany jest program Microsoft Distributed Transaction Coordinator" poniżej. Użyj narzędzi zabezpieczeń programu Oracle, aby zapewnić, że określony użytkownik jest uprawniony do otwarcia bazy danych programu Oracle.

Więcej informacji dotyczących zintegrowanych zabezpieczeń systemu Windows NT dla programu Oracle można znaleźć w dokumentacji programu Oracle.

Zmiana konta użytkownika, pod którym uruchamiany jest program Microsoft Distributed Transaction Coordinator

Jeśli program MicrosoftO Distributed Transaction Coordinator (DTC) zostanie skonfigurowany na uruchamianie pod innym kontem niż konto systemowe, trzeba określić konto należące do grupy Administratorzy. Jeśli nie, uruchomienie programu MS DTC może się nie powieść a w dzienniku zdarzeń systemu Windows NT pojawi się następujący komunikat.

XATM log object failed to set log encryption key

Identyfikator ID użytkownika dla programu MS DTC można skonfigurować następująco:

  1. Zatrzymaj program MS DTC.

  2. W menu Start wybierz polecenie Ustawienia, a nstępnie polecenie Panel sterowania.

  3. Kliknij dwukrotnie ikonę Usługi w panelu sterowania.

  4. Kliknij dwukrotnie pozycję MS DTC w polu listy Usługi.

  5. Wybierz opcję Zaloguj jako i określ nazwę oraz hasło użytkownika.

  6. Ponownie uruchom program MS DTC.

Konfigurowanie programu Oracle na obsługę większej liczby połączeń

Aby utworzyć więcej niż kilkadziesiąt połączeń z bazą danych programu Oracle, trzeba skonfigurować serwer Oracle na obsługę dodatkowych połączeń z bazą danych. Jeśli tego nie zrobisz, mogą pojawić się następujące problemy:

Jeśli występuje którykolwiek z tych problemów, należy rozważyć zwiększenie następujących parametrów konfiguracji serwera Oracle:

Wartość parametru Sessions

Typowa wartość parametru Sessions powinna być trzy razy większa niż spodziewana, całkowita liczba dokonywanych przez aplikację połączeń z bazą danych. Wynika to z tego, że system Oracle zazwyczaj otwiera więcej niż jedną sesję (często trzy) dla każdego transakcyjnego połączenia z bazą danych otwieranego przez aplikację.

Wartość parametru Queuesize

Proces odbiornika Oracle czasem opóźnia się i odrzuca żądania otwarcia bazy danych, jeśli wartość jego parametru Queuesize jest nieodpowiednia. Żądania połączeń, które przychodzą zbyt szybko, aby odbiornik Oracle mógł je obsłużyć, i które nie mieszczą się w kolejce odbiornika (której rozmiar określa parametr QUEUESIZE w plikach LISTENER.ORA, TNSNET.ORA i NAMES.ORA), są zwracane z błędem ECONNREFUSED. Klient, który napotka ten błąd zwraca komunikat o błędzie "ORA-12541: No Listener", a w pliku dziennika klienta lub pliku śledzenia (.TRC) pojawia się komunikat ECONREFUSED.

Aby rozwiązać ten problem:

  1. Zatrzymaj odbiornik Oracle w systemie zawierającym serwer bazy danych programu Oracle.

  2. Zwiększ wartość parametru QUEUESIZE w pliku LISTENER.ORA, TNSNET.ORA lub NAMES.ORA w systemie serwera bazy danych programu Oracle. Wybierz rozmiar kolejki na podstawie przewidywanej liczby jednoczesnych lub prawie jednoczesnych żądań połączeń.

    Na przykład, aby ustawić 100 żądań dla kolejki, zmień plik LISTENER.ORA następująco:

    QUEUESIZE = 100

  3. Ponownie uruchom odbiornik Oracle.

Pakiety programu MTS w klastrach MSCS nie mają dostępu do baz danych zgodnych z XA

Pakiety programu MTS w klastrach MSCS nie mogą uzyskać dostępu do baz danych zgodnych z XA (takich jak Oracle).

Zabezpieczenia i komunikacja między zdalnymi komputerami programu MS DTC

Jeśli aplikacja przeprowadza transakcje rozciągnięte na dwa lub więcej komputerów, trzeba upewnić się, że programy MS DTC na tych komputerach są skonfigurowane na komunikowanie się ze sobą. Program MS DTC jest domyślnie uruchamiany z tożsamością konta systemowego. Program MS DTC na jednym komputerze może komunikować się z programem MS DTC na innym komputerze, tylko wtedy, gdy konta Gość na obu komputerach są włączone. Jeśli konto Gość zostanie wyłączone na którymś z komputerów lub w domenie systemu Windows NT, do której one należą, program MS DTC trzeba skonfigurować na uruchamianie pod jakąś inną nazwą użytkownika, który może komunikować się z danym komputerem zdalnym. Odpowiednie informacje można znaleźć w paragrafie "Zmiana konta użytkownika, pod którym uruchamiany jest program Microsoft Distributed Transaction Coordinator" powyżej.

Program MS DTC w środowisku MSCS wymaga programu QFE

Klienci używający programu MS DTC w środowisku MSCS powinni zainstalować program Windows NT QFE Q116844. Program ten usuwa problem związany z wywołaniem procedury zdalnej (RPC), który może spowodować zawieszenie się klienta MS DTC podczas próby połączenia z programem MS DTC na serwerze sklastrowanym.

Nazwa serwera zdalnego musi określać serwer wirtualny w klastrze serwerów MSCS

Dla serwerów sklastrowanych trzeba za pomocą programu MTS Explorer ustawić właściwość Nazwa serwera zdalnego na nazwę serwera wirtualnego. Umożliwi to klientom zdalnym uzyskanie dostępu do składników programu MTS w obrębie klastra i, w przypadku niepowodzenia, zapewnia, że klienci odwołują się do klastra, a nie do określonego węzła należącego do klastra.

Tożsamości pakietów MTS muszą należeć do grupy administratorów klastrów MSCS

Dla pakietów programu MTS w klastrach MSCS konto użytkownika skojarzone z tożsamością pakietu musi być kontem administratora systemu lub musi mieć uprawnienie "Pełna kontrola" dla klastra (zgodnie z ustawieniem w cluadmin). Jeśli pakiet nie będzie uruchamiany z tożsamością administratora systemu, program MTS nie będzie w stanie połączyć się programem MS DTC.

Program MTS w klastrze MSCS wymaga tej samej ścieżki do katalogu Windows NT na wszystkich węzłach

Program MTS wymaga, aby ścieżka do katalogu Windows NT była taka sama na wszystkich węzłach klastra MSCS (na przykład c:\winnt).

Przed zainstalowaniem programu MTS należy zamknąć zasoby klastra MSCS

Przed uruchomieniem Instalatora programu MTS trzeba zamknąć wszystkie zasoby klastra MSCS (takie jak SQL Server), na które wpływa Instalator programu MTS.

Instalowanie programu SQL Server 6.5 po zainstalowaniu programu MTS

Program SQL Server 6.5 można zainstalować po zainstalowaniu programu MTS. Zaleca się, aby instalować program SQL Server 6.5 przed zainstalowaniem programu MTS. Jeśli program SQL Server 6.5 jest instalowany po zainstalowaniu programu MTS, Instalator programu MTS próbuje upewnić się, czy program MS DTC działa poprawnie.

Należy uruchomić skrypt INSTCAT.SQL

Dla wygody, do programu MTS został dołączony skrypt INSTCAT.SQL. Plik ten aktualizuje skatalogowane procedury dla sterownika SQL Server ODBC. Jeśli skrypt ten nie został jeszcze uruchomiony, należy go uruchomić używając narzędzia isql programu SQL Server.

Errata do dokumentacji dotycząca zabezpieczeń

Funkcja uwierzytelniania nie jest włączona domyślnie.

Nie można ustawić tożsamości pakietu na grupę.

Podczas ustawiania tożsamości pakietu program MTS sprawdza wprowadzone hasło. Jeśli jednak hasło dla konta zostanie zmienione bez zaktualizowania tego hasła w programie MTS Explorer, pakiet nie może zostać uruchomiony.

Plik dziennika programu może być skompresowany

Plik dziennika programu MS DTC może obecnie znajdować się w katalogu skompresowanym. Jednak, aby zapewnić optymalną wydajność, nie należy kompresować pliku dziennika programu Microsoft DTC ani przechowywać go w katalogu skompresowanym. Program MS DTC musi dekompresować plik dziennika przed jego użyciem.

Monitorowanie transakcji programu MTS w systemie Windows 95

Dokumentacja dotycząca uruchamiania i zatrzymywania programu MS DTC w systemie MicrosoftO WindowsO 95 powinna wyglądać następująco:

Domyślnie program Microsoft Distributed Transaction Coordinator (MS DTC) jest skonfigurowany na automatyczne uruchamianie, gdy uruchamiany jest system Windows NT lub Windows 95. Aby zapobiec automatycznemu uruchamianiu programu MS DTC podczas uruchamiania systemu Windows 95, należy użyć edytora rejestru, aby znaleźć klucz HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices, a następnie usunąć wartość MSDTC. Aby ponownie włączyć automatyczne uruchamianie programu MS DTC, należy użyć edytora rejestru do utworzenia wartości MSDTC i ustawić ją na ciąg znaków "msdtcw -start" w kluczu HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices.

Należy zauważyć, że nazwą usługi jest "msdtcw", a nie "msdtc", oraz że przed myślnikiem występuje spacja.

Brak możliwości zdalnego administrowania komputerami programu MTS 2.0 z komputerów programu MTS 1.x

Nie można zdalnie administrować instalacją programu MTS 2.0 z komputera, na którym uruchomiona jest poprzednia wersja programu MTS. Taka próba spowoduje zwrócenie kodu błędu lub niespodziewane przerwanie programu MTS Explorer.

Brak możliwości zamknięcia pojedynczego pakietu podczas zdalnego administrowania komputerem programu MTS 1.x

Zamykanie pojedynczych pakietów nie jest obsługiwane podczas zdalnego administrowania komputerem programu MTS 1.x.

Zamykanie programu Visual Basic 5.0 po zainstalowaniu programu MTS 2.0

Po zainstalowaniu programu MTS 2.0 może pojawiać się błąd naruszenia praw dostępu podczas zamykania programu MicrosoftO Visual BasicO 5.0. Jest to znany błąd programu Visual Basic 5.0, który można usunąć instalując program Visual StudioÔ Service Pack 2 z witryny http://www.microsoft.com/vstudio. Więcej informacji dotyczących tego problemu można znaleźć w artykule Q167213 w bazie danych Knowledge Base.

Wiele procesów serwera w systemie Windows 95

Znany jest problem, który występuje, gdy proces serwera MTS zostaje niespodziewanie przerwany (z powodu failfast, błędu potwierdzenia lub naruszenia praw dostępu); wtedy kolejne próby ponownego uruchomienia aplikacji powodują powstanie wielu procesów MTS. (Poprawnym zachowaniem jest tworzenie tylko jednego procesu MTS na pakiet.) W przypadku niespodziewanego przerwania procesu serwera, trzeba dokonać ponownego rozruchu komputera z systemem Windows 95.

Zakleszczenia w systemie Windows 95 podczas używania nazwanych potoków

Znany jest problem, który może powodować zakleszczenia podczas używania więcej niż około 40 połączeń nazwanych potoków między klientem systemu Windows 95 a programem MS Distributed Transaction Coordinator (DTC). Aby rozwiązać ten problem, należy zmienić protokół między sterownikiem ODBC a programem SQL Server na TCP/IP.

Składniki a klucze rejestru TreatAs i AutoTreatAs

Model COM umożliwia emulowanie jednego serwera przez drugi przy użyciu kluczy rejestru TreatAs i AutoTreatAs. Przypuśćmy, że klient tworzy składnik dla danego identyfikatora CLSID używając metody CoCreateInstance. Jeśli klucz TreatAs lub AutoTreatAs dla tego identyfikatora CLSID znajduje się w rejestrze, model COM utworzy składnik wskazywany przez ten klucz. W efekcie żądanie klienta jest routowane na serwer emulowany. (Ten sam routing jest możliwy przy użyciu identyfikatora ProgID, jeśli klient odwołuje się do serwera przez identyfikator ProgID, a nie przez CLSID.)

Składniki emulowane przy użyciu klucza TreatAs lub AutoTreatAs nie są prawidłowymi składnikami MTS i nie mogą być importowane. Jeśli emulacja ma być dodana po importowaniu składnika, składnik ten musi zostać usunięty z katalogu MTS, a następnie zastąpiony przez składnik emulujący.

Mieszane modele wątkowe w procesie serwera

W obrębie procesu serwera obiekty należące do tej samej aktywności muszą być zarejestrowane ze zgodnymi modelami wątkowymi. Prawidłowe są następujące kombinacje:

Oznacza to, że jednowątkowe składniki MTS nie mogą zostać utworzone przez środowisko Active Server Page uruchomione wewnątrzprocesowo z programem IIS lub wewnątrzprocesowo z aplikacją IIS używającą izolacji procesu.

Nie należy tworzyć lokalnych serwerów nie-MTS za pomocą metody CreateInstance

Nie zaleca się tworzenia lokalnych serwerów nie-MTS przy użyciu metody CreateInstance Takie serwery nie są dobrze skalowalne i mogą powodować powstawanie dodatkowych instancji serwerów nie zamykanych przez program MTS. Aby utworzyć lokalny serwer nie-MTS, należy użyć metody CoCreateInstance.

Nie należy używać surogatów COM w programie MTS. Zamiast tego należy pobierać serwery wewnątrzprocesowe do procesów serwera MTS.

Zabezpieczenia programu MTS nie działają z uosobieniami w programie IIS

Oparta na rolach kontrola dostępu do pakietów w programie MTS nie działa poprawnie, gdy pakiety są front-ended przez mutlipleksery, które uosabiają wielu klientów (na przykład program Internet Information Server). Pakiety programu MTS używane w tych środowiskach powinny mieć wyłączone zabezpieczenia.

Ten problem można rozwiązać przez zainstalowanie programu Windows NT QFE Q147222. Po jego zainstalowaniu zabezpieczenia oparte na rolach działają poprawnie z programem IIS.

Podczas tworzenia bezpiecznych aplikacji IIS, które używają izolacji procesu, program IIS tworzy pakiet MTS, który jest ustawiony na uruchamianie jako IWAM_<nazwa komputera>. Aby zmienić tożsamość tego pakietu, należy również dodać nową tożsamość pakietu do grupy "MTS Trusted Impersonators". W przeciwnym razie zabezpieczenia nie będą działały poprawnie w innych zewnątrzprocesowych składnikach MTS wywoływanych przez pakiet, a klient wywołujący będzie się pojawiał jako IWAM_<nazwa komputera>, a nie jako faktyczny klient programu IIS.

Używanie obiektu ErrorInfo z obiektami ADO

Obiekty ADO usuwają wszelkie informacje, które ewentualnie mogą się znajdować w obiekcie ErrorInfo. Istnieje kod usuwający ten problem, który trzeba zaimplementować w procedurze obsługi błędów.

W języku Visual Basic kod ten wygląda następująco:

ErrorHandler:
    ' czyszczenie
    If Not adoRS Is Nothing Then
        Set adoRS = Nothing
    End If
    If Not adoConn Is Nothing Then
        Set adoConn = Nothing
    End If
    
    Err.Raise Err.Number, "Bank.Accout.Post", Err.Description

Exit Function

W języku C++ kod ten wygląda następująco:

//
// Obiekt ErrorInfo jest w tym miejscu zapisywany,
// ponieważ kod czyszczący ADO mógłby go wyczyścić.
//
IErrorInfo * pErrorInfo = NULL;
GetErrorInfo(NULL, &pErrorInfo);

if (adoRsBalance) adoRsBalance->Release();
if (adoCoConnection) adoCoConnection->Release();

AtlReportError( CLSID_CAccount, pErrMsg, IID_IAccount, hr);

//
// ponownie umieść błąd w TLS
//
SetErrorInfo(NULL, pErrorInfo);

W języku J++ kod ten wygląda następująco:

if (adoRsBalance != null) {
	if (adoRsBalance.getState() == ObjectStateEnum.adStateOpen)
		adoRsBalance.Close();
	ComLib.release (adoRsBalance);
}

if (adoConn != null) {
	if (adoConn.getState() == ObjectStateEnum.adStateOpen)
		adoConn.Close();
	ComLib.release (adoConn);
}

Uwaga W programie Java trzeba jawnie zamknąć zestawy rekordów i/lub połączenia, a także jawnie zwolnić obiekty ADO.

Brak klienta programu Sample Bank dla ASP

W dokumentacji podano błędną informację, że dostarczana jest wersja klienta programu Sample Bank dla środowiska Active Server Page (ASP).

Maksymalna liczba metod dla składników programu MTS 2.0 wynosi 1024

W programie MTS 1.0 istniał limit 100 metod na składnik. W programie MTS 2.0 limit ten wynosi 1024 metody.

Dla składników używających obiektów RDO 2.0 na komputerach wieloprocesorowych mogą występować naruszenia praw dostępu

Dla składników, które używają obiektów RDO 2.0 i do których wielu klientów próbuje uzyskać dostęp współbieżnie, mogą występować naruszenia praw dostępu. Problem ten był obserwowany na serwerach z wieloma procesorami. Problem ten nie był obserwowany dla składników używających obiektów ADO.

Lokalizacja przykładów dla języka Visual Basic Scripting

Pliki z przykładami skryptów języka Visual Basic Scripting (VBScript) automatyzującymi administrację programem MTS, znajdują się w katalogu \Program Files\Mts\Samples, a nie w katalogu \Program Files\Mtx\Samples\WSH, jak to zostało podane w dokumentacji.

Używanie funkcji Microsoft Transaction Server API do projektowania aplikacji

Projektowanie składników w języku Microsoft Visual C++

Biblioteki MFC Extension DLL

Składniki MTS nie powinny być budowane jako biblioteki MFC Extension DLL, ponieważ takie biblioteki DLL mogą być pobierane tylko przez aplikacje MFC. Składnik COM, a zatem i składnik MTS, powinien być zbudowany w taki sposób, aby mógł on być pobrany do dowolnego procesu, niezależnie od typu aplikacji, która uruchomiła proces.

Więcej informacji dotyczących bibliotek MFC Extension DLL można znaleźć w podręczniku programisty dla języka Microsoft Visual C++.

Projektowanie składników w języku Microsoft Visual Basic

ObjectControl

Znany problem z zamykaniem programu Mtx.exe używanego ze składnikami programu Visual Basic 4.0

Jeśli proces programu Mtx.exe uruchomiony ze składnikami programu Visual Basic 4.0 zostanie zamknięty z powodu zbyt długiej bezczynności, występuje znany problem naruszenia praw dostępu. Obecnie nie jest znane rozwiązanie tego problemu. Prawdopodobnie problem ten pojawia się, gdy w procesie są używane więcej niż dwa składniki programu Visual Basic 4.0. Pewnym wyjściem może być ustawienie dla pakietu opcji "Pozostaw uruchomiony mimo bezczynności". Problem ten występuje tylko dla składników zbudowanych w języku Visual Basic 4.0 – nie pojawia się dla języka Visual Basic 5.0.

Unikanie zakleszczeń Visual Basic 4.0/RDO

Jeśli składnik serwera używa obiektów RDO, nie można dopuścić, aby obiekt rdoConnection z aktywnym obiektem rdoResultset znalazł się poza zakresem, gdyż może to spowodować zakleszczenie. Aby uniknąć zakleszczenia, trzeba samodzielnie zamknąć obiekt rdoResultset lub rdoConnection Następująca procedura powoduje powstanie zakleszczenia:

  1. Utwórz instancję składnika serwera. Wywołaj metodę, która tworzy obiekt rdoConnection, a następnie rdoResultset. Można pobierać dane z obiektu rdoResultset (nie wyczerpując go), ale nie należy go zamykać.

  2. Zwolnij tę instancję. (Ponieważ to połączenie i zestaw wyników znalazły się poza zakresem, wymagane wywołania ODBC nie są generowane natychmiast. W zamkniętym oknie ogłaszana jest natomiast wiadomość żądająca wykonania metod SQLFreeStmt+SQLDisconnect+SQLFreeConnect).

  3. Utwórz drugą instancję składnika serwera. Utwórz obiekt rdoConnection i spróbuj zaktualizować wiersz, który został uwzględniony w zestawie wyników z kroku 1. Wystąpi zakleszczenie, ponieważ blokady ustawione dla zestawu wyników utworzonego w kroku 1 nie zostały zwolnione. Przekaźnik wiadomości, który przetwarza wiadomość ogłoszoną w kroku 2 nie ma szansy na uruchomienie.

Zakleszczenia można uniknąć przez samodzielne zamknięcie zestawu wyników (lub połączenia) na końcu kroku 1, co natychmiast powoduje powstanie wywołań ODBC zamykających instrukcję (i połączenie). Sedno problemu tkwi w opóźnieniu wprowadzonym przez ogłoszoną w zamkniętym oknie wiadomość żądającą zamknięć ODBC.

Prowadzenie katalogu MTS podczas projektowania składników w języku Visual Basic

Przy każdej kompilacji projektu OLE DLL w języku Visual Basic 4.0, język Visual Basic ponownie tworzy wszystkie wpisy rejestru dla wszystkich składników (klas języka Visual Basic) używanych w danej bibliotece DLL. Ponadto język Visual Basic może generować nowe identyfikatory GUID (w zależności od konfiguracji projektu) służące do identyfikacji składników w bibliotece DLL. Oznacza to, że składniki MTS przestają być prawidłowo zarejestrowane w katalogu MTS.

Problem ten można rozwiązać na dwa sposoby. Po pierwsze, można użyć w programie Transaction Server Explorer przycisku Odśwież lub polecenia Odśwież wszystkie składniki z menu Narzędzia. Po użyciu tego polecenia program Microsoft Transaction Server usunie wszystkie niezgodności wpisów rejestru dla składników aktualnie znajdujących się w prawym okienku programu Explorer.

Podczas instalacji wersji Development programu Microsoft Transaction Server należy ustawić opcję VB Addin, aby włączyć funkcję, która automatycznie odświeża składniki po ich skompilowaniu. Po następnym uruchomieniu języka Visual Basic 4.0, dodatek ten zostanie automatycznie zainstalowany w środowisku Visual Basic IDE. Funkcję tę można również włączyć lub wyłączyć dla danego projektu przez zaznaczenia lub usunięcie zaznaczenia polecenia MTxServer RegRefresh | AutoRefresh after compile w menu Add-Ins w języku Visual Basic. Aby odświeżyć wszystkie składniki Microsoft Transaction Server w dowolnym momencie, można użyć polecenia MTxServer RegRefresh | Refresh all components now z menu Add-Ins.

Ważne Ten dodatek języka Visual Basic został tak zaktualizowany, aby pracował z obiema wersjami języka Visual Basic, 4.0 i 5.0. Po zainstalowaniu, automatycznie odświeża on katalog Transaction Server wprowadzając zmiany dokonane podczas każdej kompilacji. Opcja menu dodatków (Add-Ins) włączania i wyłączania automatycznego odświeżania nie jest już obsługiwana.

Użycie tego dodatku powoduje właściwe odświeżanie katalogu MTS, nawet po kompilacjach języka Visual Basic, które generują nowe identyfikatory GUID składników. Należy również zauważyć, że ustawienia Compatible OLE Server w oknie dialogowym Project Options języka Visual Basic można użyć do wyłączenia generowania nowych identyfikatorów GUID przez język Visual Basic.

Odświeżanie katalogu MTS działa pod warunkiem, że nie zmienia się identyfikatorów ProgID składników. W języku Visual Basic 4.0 identyfikator ProgID składnika jest tworzony przez następujące połączenie: nazwa projektu.nazwa klasy. Jeśli któryś z tych elementów zostanie zmieniony, trzeba będzie ponownie zainstalować składnik(i) w programie MTS Explorer.

Budowanie składnika w języku Visual Basic 4.0 bez zaznaczonej opcji Compatible OLE Server powoduje zastąpienie starych identyfikatorów CLSID i IID przy każdej kompilacji. Podczas projektowania składnika MTS wiąże się z tym kilka niedogodności, nawet przy włączonym dodatku języka Visual Basic.


Zgłaszanie problemów i błędów

Zgłaszając błąd należy podać następujące informacje:


Obsługa serwisowa firmy Microsoft®

Odpowiedzi na pytania związane z instalacją i użytkowaniem oprogramowania firmy Microsoft należy szukać przede wszystkim w:

Wszystkim legalnym, zarejestrowanym użytkownikom systemu Microsoft Windows NT Workstation i programu Personal Web Server, którzy nie mogą znaleźć rozwiązania problemu technicznego w wyżej wymienionych źródłach lub nie mają do nich dostępu, firma Microsoft umożliwia 2 bezpłatne zgłoszenia do pomocy telefonicznej.

Standardowa pomoc techniczna

Pomoc techniczna świadczona przez Biuro Pomocy Technicznej jest bezpłatna. Biuro Pomocy Technicznej obsługuje legalnych i zarejestrowanych użytkowników produktów firmy Microsoft. Biuro udziela porad telefonicznych pod numerem (0-22) 865 99 66 w godzinach od 9:00 do 17:00, od poniedziałku do piątku, z wyjątkiem świąt.

Ograniczenia zakresu bezpłatnej pomocy

Biuro Pomocy Technicznej:

Rejestracja produktu

Po zainstalowaniu oprogramowania, należy wysłać pod wskazany adres wypełnioną kartę rejestracyjną. W ciągu ok. 2 tygodni otrzymają Państwo zwrotnie potwierdzenie rejestracji oraz stały numer klienta, na który należy się powoływać w kontaktach z Biurem Pomocy.

Procedura korzystania z usług Biura Pomocy Technicznej

Aby ułatwić i przyspieszyć procedurę udzielenia pomocy, przed zadzwonieniem do Biura Pomocy Technicznej powinni Państwo przygotować następujące informacje:

Firma Microsoft zastrzega sobie możliwość wprowadzenia zmian w zasadach funkcjonowania obsługi technicznej bez uprzedniego powiadomienia. W przypadku konieczności zmiany numerów telefonów, stosowne informacje podawane będą w naszej witrynie internetowej pod adresem http://www.microsoft.com/poland/ oraz w korespondencji wysyłanej okresowo do zarejestrowanych klientów.

Inne programy i usługi pomocy technicznej

Firma Microsoft oferuje również programy i usługi pomocy technicznej dla firm, które wymagają więcej niż standardowej pomocy w przypadku wystąpienia problemu. Aby uzyskać aktualne informacje na ten temat, należy odwiedzić witrynę Obsługi technicznej online firmy Microsoft pod adresem http://www.microsoft.com/poland/support/ lub skontaktować się z przedstawicielstwem firmy Microsoft.

Infoserwis

Wszelkie pytania nie związane z problemami technicznymi, w tym pytania dotyczące oferty handlowej i dostępności produktów firmy Microsoft, oraz prośby o informacje na temat poszczególnych produktów, należy kierować do Infoserwisu Microsoft lub bezpośrednio do naszych przedstawicieli handlowych. Infoserwis udziela informacji na temat przedstawicieli handlowych znajdujących się najbliżej Państwa. Telefon Infoserwisu: (0-22) 865 99 33 w godzinach od 9:00 do 17:00, od poniedziałku do piątku, z wyjątkiem świąt. Infoserwis nie udziela pomocy technicznej.

Firma Microsoft zastrzega sobie możliwość wprowadzenia zmian w zasadach funkcjonowania Infoserwisu bez uprzedniego powiadomienia. W przypadku konieczności zmiany numerów telefonów, stosowne informacje podawane będą w naszej witrynie internetowej pod adresem http://www.microsoft.com/poland/ oraz w korespondencji wysyłanej okresowo do zarejestrowanych klientów.


Informacje o prawach autorskich

© 1997 Microsoft Corporation

Niniejsze materiały są dostarczane “bez zmian,” tylko dla celów informacyjnych.

Firma Microsoft ani jej dostawcy nie udzielają żadnych gwarancji, wyrażonych wprost lub domyślnie, odnośnie treści niniejszych materiałów i dokładności wszelkich zawartych w nich informacji, w tym, bez żadnych ograniczeń, domyślnych gwarancji przydatności do określonych celów. Ponieważ przepisy niektórych krajów nie dopuszczają wyłączenia gwarancji domyślnych, powyższe ograniczenie nie musi dotyczyć wszystkich użytkowników.

Firma Microsoft ani jej dostawcy nie będą w żadnym wypadku odpowiedzialni za jakiekolwiek szkody (przypadkowe, nieprzypadkowe, pośrednie, bezpośrednie i inne) oraz straty finansowe wynikające z użycia tych materiałów. Ponieważ przepisy niektórych krajów nie dopuszczają wyłączenia gwarancji domyślnych, powyższe ograniczenie nie musi dotyczyć wszystkich użytkowników. Wszelkie finansowe zobowiązania firmy Microsoft i jej dostawców wynikające w jakiś sposób z udostępnienia tych materiałów nie mogą przekroczyć ich ceny detalicznej.


© 1998 Microsoft Corporation. Wszelkie prawa zastrzeżone.