Este documento contΘm as informaτ⌡es mais recentes para o Microsoft® Transaction Server(MTS).
Para maiores informaτ⌡es, consulte os t≤picos a seguir:
Configurando o Microsoft Transaction Server
O que’hß de novo no MTS 2.0?
Documentaτπo do produto MTS
As seτ⌡es a seguir contΩm informaτ⌡es mais recentes que nπo estπo disponφveis na documentaτπo regular, bem como falhas e limitaτ⌡es conhecidas.
Ao instalar o MTS, defina a identidade do pacote 'Sistema' antes de criar qualquer pacote novo, como se segue:
Certifique-se de que a conta de usußrio para as identidades do pacote 'Sistema' e outros pacotes MTS tenha o login do Windows NT "como um serviτo" do direito do usußrio. VocΩ pode verificar isso utilizando o 'Gerenciador de usußrio do Windows NT':
Estas informaτ⌡es substituem completamente a documentaτπo anterior que descreve como utilizar o Oracle com o Microsoft Transaction Server, incluindo a documentaτπo de 'Ajuda'on-line do Microsoft Transaction Server 2.0.
VocΩ pode ativar os componentes MTS transacionais para acessar um banco de dados Oracle 7.3.3 atravΘs do ODBC. O MTS trabalha com o Oracle 7 Workgroup Server for Windows NT, Oracle 7 Enterprise Server for Windows NT, Oracle 7 Enterprise Servers em UNIX, e Oracle Parallel Server em UNIX.
Seu componente MTS pode acessar um banco de dados Oracle 8 tanto no Windows NT quanto no Unix, desde que o componente Microsoft Transaction Server utilize o software cliente Oracle 7.3.3. O MTS nπo suporta o software cliente Oracle 8.
Esta seτπo inclui os seguintes t≤picos:
O software a seguir Θ necessßrio para acessar um banco de dados Oracle a partir dos componentes MTS.
Componente | Versπo |
Banco de dados Oracle em Windows NT | 7.3.3 (com correτπo 4 ou mais recente) |
Banco de dados Oracle em UNIX | 7.3.3 (com correτ⌡es) |
Oracle SQL*Net | 2.3.3 (com versπo corrigida 2.3.3.0.3 ou mais recente) |
Oracle OCIW32.DLL | 1.0.0.5 ou mais recente |
Oracle SQLLIB18.DLL | 1.8.3.0.1 ou mais recente |
Oracle XA73.LIB | 7.3.3.2.0 ou mais recente |
Microsoft Transaction Server 2.0 | 2.0 |
Driver Microsoft ODBC para Oracle (MSORCL32.DLL) | 02.73.7283.1 ou mais recente |
ActiveX Data Objects (ADO) | 1.5 |
Observaτπo importante: As vers⌡es anteriores do software nπo irπo funcionar corretamente. Certifique-se de instalar estas vers⌡es do software ou as mais recentes. A falha para realizaτπo desse procedimento certamente Θ a causa mais comum dos problemas durante a tentativa da utilizaτπo do Microsoft Transaction Server com o Oracle.
Se seu banco de dados Oracle reside no Windows NT, vocΩ pode instalar tanto a versπo para Windows NT do Oracle 7.3.3 Workgroup Server quanto a versπo para Windows NT do Oracle 7.3.3 Enterprise Server. The Oracle 7.3.2 e as vers⌡es anteriores para Windows NT do Oracle nπo sπo suportadas e nπo irπo funcionar em conjunto com as transaτ⌡es MTS.
VocΩ deve instalar a versπo corrigida do Oracle 7.3.3 que Θ listada na tabela acima. A versπo Oracle 7.3.3 nπo irß funcionar com o MTS, a nπo ser que a versπo corrigida seja instalada.
VocΩ deve submeter um relat≤rio de problemas ao Oracle Customer Support Organization para obter a versπo corrigida do Oracle. Esta versπo corrigida nπo estava disponφvel no site p·blico da Web do Oracle no momento em que essa observaτπo foi redigida.
VocΩ pode instalar o Oracle 8 no Windows NT desde que os componentes do Microsoft Transaction Server utilize o software cliente Oracle 7.3.3. O MTS nπo suporta o software cliente Oracle 8.
Se seu banco de dados Oracle reside em UNIX, vocΩ deve instalar o Oracle versπo 7.3.3 (ou a mais recente) para aquela plataforma UNIX. Na maioria dos casos, vocΩ serß tambΘm solicitado a instalar uma versπo corrigida do Oracle 7.3.3 para o Oracle em UNIX.
VocΩ deve entrar em contato com o Oracle Customer Support para determinar se uma versπo corrigida do Oracle 7.3.3 Θ solicitada para sua plataforma UNIX. Explique que vocΩ irß acessar seu banco de dados Oracle em UNIX utilizando um novo suporte de transaτπo XA que Θ incluφdo agora no Oracle versπo 7.3.3 no Windows NT.
As vers⌡es corrigidas a seguir sπo conhecidas para funcionarem:
Plataforma | Correτπo Oracle |
HP 9000 | 7.3.3.3 |
IBM AIX | 7.3.3.2 |
Sun Solaris | 7.3.3.2 |
VocΩ deve instalar o Oracle 8 em Unix desde que os componentes do Microsoft Transaction Server utilizem o software cliente Oracle 7.3.3. O MTS nπo suporta o software cliente Oracle 8.
Se os componentes do Microsoft Transaction Server acessam um banco de dados Oracle em um Windows NT remoto ou no sistema Unix, certifique-se de que o seguinte software cliente Oracle esteja presente no sistema Microsoft Transaction Server. Certifique-se de que o software cliente esta no nφvel da versπo adequado. A tabela no inφcio da seτπo "Software necessßrio" especifica quais vers⌡es sπo necessßrias.
Componente |
Oracle SQL*Net |
Oracle OCIW32.DLL |
Oracle SQLLIB18.DLL |
Oracle XA73.LIB |
VocΩ deve instalar a versπo especificada do Oracle SQL*Net em seu sistema Microsoft Transaction Server.
VocΩ deve instalar a versπo especificada do Oracle OCIW32.DLL em seu sistema Microsoft Transaction Server.
A versπo seguinte do Oracle OCIW32.DLL funciona:
Version 1, 0, 0, 5 Tuesday, March 18, 1997 2:47:52 PM Size 18KB.
A seguinte versπo do Oracle OCIW32.DLL falha:
Version 7.x Thursday, February 01, 1996 12:50:06 AM Size 36 KB
Obtivemos a versπo correta desta DLL a partir do CD de instalaτπo do Oracle 7.3.3 na pasta \WIN32\V7\RSF73.
VocΩ deve instalar a versπo especificada do Oracle SQLLIB18.DLL em seu sistema Microsoft Transaction Server.
VocΩ deve instalar a versπo do Oracle XA73.LIB em seu sistema Microsoft Transaction Server.
VocΩ deve instalar o Microsoft Transaction Server 2.0 se vocΩ desejar acessar um banco de dados Oracle utilizando o Microsoft Transaction Server abaixo do controle de transaτπo.
O Driver Microsoft ODBC 2.0 para Oracle (MSORCL32.DLL) versπo 02.73.7283.1 ou mais recente Θ solicitado. O programa Windows NT 4.0 Option Pack instala automaticamente esta DLL.
Se vocΩ quiser acessar o banco de dados Oracle, sugerimos que vocΩ utilize o novo driver do Oracle 2.0, mesmo que vocΩ nπo precise do suporte de transaτπo. Este novo driver oferece melhor desempenho que o driver do Oracle 1.0 substituφdo. O driver do Oracle 1.0 serializou todas as atividades no nφvel do driver; as requisiτ⌡es foram segmentadas somente uma vez por meio do driver. O driver do Oracle 2.0 serializa todas as atividades no nφvel da conexπo. Isso permite que conex⌡es de banco de dados diferentes sejam usadas em paralelo.
Caso seus aplicativos utilizem ADO, vocΩ deve instalar o ADO versπo 1.5. As vers⌡es anteriores do ADO nπo funcionarπo com o 'Gerenciador de driver ODBC 3.5'. O ADO 1.5 estß incluφdo no Windows NT 4.0 Option Pack.
Para configurar o suporte Oracle para os componentes transacionais do MTS
Se seu banco de dados Oracle estiver localizado em um sistema Windows NT, instale o Oracle versπo 7.3.3 no Windows NT.
Se seu banco de dados Oracle estiver localizado em um sistema UNIX, instale o Oracle versπo 7.3.3 naquele sistema.
Certifique-se de que a versπo correta do Oracle OCIW32.DLL seja instalada como descrito na seτπo "Software necessßrio".
Se seu banco de dados Oracle estiver localizado em um sistema Windows NT, instale a versπo corrigida do Oracle 7.3.3 que estß listada na seτπo "Software necessßrio".
Se seu banco de dados Oracle estiver localizado em um sistema UNIX, instale a versπo corrigida do Oracle 7.3.3 que Θ necessßria para sua versπo do UNIX.
Se os componentes do Microsoft Transaction Server acessarem um banco de dados Oracle em um Windows NT remoto ou em um sistema Unix, certifique-se de que o software cliente Oracle correto estß presente em seu sistema Microsoft Transaction Server.
Instale a versπo corrigida especificada do Oracle em seu sistema Microsoft Transaction Server e certifique-se de que o software cliente coincide com os nφveis de versπo listados na tabela na seτπo "Software necessßrio".
Quando vocΩ instala o Microsoft Transaction Server 2.0, o software seguinte serß instalado.
Se vocΩ nunca instalou o Microsoft Transaction Server 2.0 versπo Beta, ignore essa etapa.
Se vocΩ instalar previamente o Microsoft Transaction Server 2.0 versπo Beta, utilize o Windows Explorer para determinar se o arquivo DTCXATM.LOG estß em seu sistema. Se estiver, interrompa o serviτo Microsoft DTC e exclua o arquivo DTCXATM.LOG.
Se vocΩ excluir o arquivo DTCXATM.LOG uma vez, quando fizer sua primeira atualizaτπo da versπo beta Microsoft Transaction Server 2.0. Nunca exclua o arquivo DTCXATM.LOG depois disso, porque ele pode conter informaτ⌡es de recuperaτπo vital.
Desempenha as etapas a seguir para ativar o suporte de transaτπo Oracle XA:
Seleτπo de acesso em V$XATRANS$ ao p·blico.
Consulte a documentaτπo do Server para obter maiores informaτ⌡es sobre como configurar o suporte de transaτπo do XA.
O banco de dados possui seguranτa integrada que utiliza a autenticaτπo do Windows NT para validar os usußrios do banco de dados. Isso permite que um usußrio efetue logon no Oracle sem fornecer uma conta ou senha de usußrio separadamente. Os usußrios podem manter uma conta ou senha de usußrio para o Windows NT e para o Oracle.
Se os componentes MTS sempre fornecem uma conta e senha de usußrio ao conectar-se ao banco de dados Oracle, vocΩ nπo estß utilizando a seguranτa integrada. Isso Θ vßlido se seus aplicativos especificarem a conta e a senha de usußrio direta ou indiretamente por meio de um ODBC DSN. Em qualquer um dos casos, vocΩ nπo estß utilizando a seguranτa integrada e pode ignorar essa etapa.
Se vocΩ utilizar a seguranτa integrada, deve-se configurar o MS DTC para executar um nome e senha de usußrio autorizados a conectarem-se ao seu banco de dados Oracle. Isso Θ solicitado porque, durante a recuperaτπo do banco de dados, o MS DTC abre seu banco de dados Oracle para relatar o resultado de transaτ⌡es em d·vida. Consulte ""Alterando a conta de usußrio sob a qual o Microsoft Distributed Transaction Coordinator Θ executado"" abaixo. Utilize as ferramentas de administraτπo de seguranτa do Oracle para certificar-se de que o nome de usußrio que vocΩ especifica estß autorizado a abrir seu banco de dados Oracle.
Para obter maiores informaτ⌡es sobre as instalaτ⌡es de seguranτa do Windows NT integrado do Oracle, consulte sua documentaτπo Oracle.
Se vocΩ desejar criar mais do que algumas d·zias de conex⌡es para um banco de dados Oracle, deve-se configurar o servidor Oracle para suportar conex⌡es adicionais de banco de dados. Para obter maiores informaτ⌡es, consulte "Configurando o Oracle para suportar um grande n·mero de conex⌡es" abaixo.
Depois de instalar e configurar o suporte Oracle, vocΩ deve validar a instalaτπo do Oracle utilizando o programa de teste do Oracle, instalado com o MTS. O programa de teste do Oracle utiliza interfaces OCI XA do Oracle do mesmo modo que o MTS as utiliza.
O programa de teste do Oracle determina se vocΩ pode conectar-se a um banco de dados Oracle utilizando a instalaτπo XA do Oracle. O programa de teste do Oracle utiliza interfaces Oracle padrπo e instalaτ⌡es de transaτπo. Nπo Θ necessßrio o Microsoft Transaction Server nem o Microsoft Distributed Transaction Coordinator. Portanto, falha no programa de teste indica que seu sistema Oracle estß instalado ou configurado de maneira impr≤pria. Se o programa de teste do Oracle falhar, reinstale e reconfigure o Oracle, ou entre em contato com a Oracle Support Organization para assistΩncia
Para executar o programa de teste do Oracle
Exclua todos arquivos rastreados do Oracle a partir da mßquina contendo os componentes MTS que acessam o banco de dados Oracle. A maneira mais fßcil de fazer isso Θ utilizar o Windows Explorer para localizar e excluir todos os arquivos *.TRC.
Se o programa de teste do Oracle falhar, os arquivos rastreados podem ajudß-lo a determinar a origem do problema. Ao excluir todos os arquivos obsoletos rastreados, torna-se fßcil localizar qualquer arquivo criado recentemente.
Se vocΩ nunca instalou a versπo beta do Microsoft Transaction Server 2.0, pode pular essa etapa.
VocΩ somente deve excluir o arquivo DTCXATM.LOG uma vez quando vocΩ atualiza pela primeira vez, a partir da versπo beta do Microsoft Transaction Server 2.0. VocΩ nunca deve excluir o arquivo DTCXATM.LOG depois disso, porque isso poderß conter informaτ⌡es de recuperaτπo vitais.
c:>TestOracleXaConfig.exe -U<identificaτπo de usußrio> -P<senha> -S<Nome_de_Serviτo como contido no arquivo TNS>.
Se vocΩ executar o programa de teste sem parΓmetros, o programa irß exibir informaτ⌡es de ajuda que descrevem os parΓmetros necessßrios.
O programa de teste irß exibir informaτ⌡es sobre cada operaτπo Oracle que ele executa e indicarß se cada operaτπo foi bem sucedida.
Depois de validar a instalaτπo e a configuraτπo do Oracle utilizando o programa de teste do Oracle, vocΩ deve utilizar o aplicativo 'Banco de exemplo' fornecido com o Microsoft Transaction Server para certificar-se de que o Microsoft Transaction Server pode acessar seu banco de dados Oracle.
Para validar o suporte Oracle utilizando o 'Banco de exemplo'
Proprietßrio scott
Nome da tabela Conta
Nome da coluna 1 No da conta do tipo NUMBER
Nome da coluna 2 Balanτo do tipo NUMBER
No da conta Balanτo
1 1000
2 1000
[ODBC]
DRIVER=Microsoft ODBC para Oracle
UID=scott
PWD=minhasenha
ConnectString=meuservidor
SERVER=meuservidor
O Oracle αs vezes altera nomes da DLL quando Θ lanτada novas vers⌡es do produto. O Microsoft Transaction Server conta com o conhecimento dos nomes de algumas DLLs do Oracle. O MTS geralmente procura por nomes da DLL fornecidos com a versπo do Oracle 7.3.3. Se o Oracle renomear aquelas DLLs, vocΩ deve modificar os valores das seguintes chaves de Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Transaction Server\Local Computer\My Computer
Sob esta chave hß dois valores de seqⁿΩncia de caracteres nomeada.
Se vocΩ configurar o MicrosoftÒ Distributed Transaction Coordinator (DTC) para executar sob uma outra conta, que nπo a do Sistema, deve-se especificar uma conta que Θ um membro do grupo 'Administradores'. Se nπo for, o MS DTC pode falhar ao iniciar, e vocΩ verß a seguinte mensagem no log de eventos do Windows NT.
O objeto de log XATM falhou ao definir a chave de criptografia de log
VocΩ pode configurar a identificaτπo de usußrio para o MS DTC como segue:
Se vocΩ quiser criar mais do que algumas d·zias de conex⌡es para um banco de dados Oracle, deve-se configurar o servidor Oracle para suportar conex⌡es de banco de dados adicionais.
VocΩ pode se deparar com um ou mais dos seguintes erros se falhar ao fazer isto:
Se vocΩ se deparar com qualquer um desses problemas, considere o aumento dos seguintes parΓmetros de configuraτπo do servidor Oracle:
Sessions
O valor para sessions
geralmente deve ser trΩs vezes o n·mero total de conex⌡es de banco de dados que vocΩ espera que seus aplicativos realizem.
Queuesize
Se a queue size
para o processo Oracle Listener for inadequada, o Listener αs vezes retrocede e rejeita requisiτ⌡es abertas de banco de dados. Isso acontece se o Oracle Listener recebe muitas requisiτ⌡es de conexπo e sua fila estoura. Um cliente que encontra esse erro relata a mensagem de erro 'ORA-12541: No Listener' e o log do cliente ou os arquivos rastreados mostrarπo a mensagem ECONREFUSED.
Para corrigir esse problema:
Sugerimos que vocΩ selecione um valor grande para QUEUESIZE
porque o sistema Oracle geralmente abre mais de uma conexπo de banco de dados para cada conexπo de banco de dados transacional que seu aplicativo abrir. Como resultado, a fila do Oracle listener pode ficar cheia e estourar.
Para acomodar 100 requisiτ⌡es, altere o arquivo LISTENER.ORA como a seguir:
QUEUESIZE = 100
Se seus aplicativos utilizarem ADO, certifique-se de que vocΩ instalou o ADO 1.5. Para obter maiores informaτ⌡es, consulte a seτπo 'Software necessßrio'.
A conectividade do banco de dados Oracle nπo Θ suportada para os componentes Microsoft Transaction Server sendo executados na plataforma digital alpha. O Support for Oracle na plataforma digital alpha serß adicionado em uma versπo futura.
╔ importante que a versπo correta do OCIW32.DLL esteja instalada em seu computador. VocΩ deve verificar a versπo desta DLL sempre que reinstalar o Oracle ou o Microsoft Transaction Server.
Os aplicativos Microsoft Transaction Server que residem nos clusters do MSCS (Wolfpack) nπo podem acessar os banco de dados XA, incluindo o banco de dados Oracle. Este Θ o resultado de uma limitaτπo no Microsoft Distributed Transaction Coordinator.
Atualmente, o Microsoft Distributed Transaction Coordinator armazena informaτ⌡es criptografadas relacionadas αs recuperaτ⌡es XA no Registro do Windows NT. Atualmente essas informaτ⌡es nπo podem ser duplicadas entre dois n≤s em um cluster do MSCS. Como resultado, o Microsoft DTC nπo pode ser utilizado com algum banco de dados compatφvel ao XA em um ambiente de cluster. Pretendemos eliminar essas restriτ⌡es em uma versπo futura.
Se seu aplicativo desempenha transaτ⌡es estendidas a dois ou mais computadores, certifique-se de que o MS DTCs, nesses computadores, estπo configurados para comunicarem-se uns com os outros. O MS DTC Θ executado sob a identidade da conta do Sistema, como padrπo. O MS DTC em um computador pode-se comunicar com o MS DTC em outro computador, somente se as contas de Visitantes estiverem ativadas nos dois computadores. Se vocΩ desativar a conta de Visitante em uma das mßquinas ou no domφnio do Windows NT ao qual elas pertencem, deve-se configurar o MS DTC para executar sob algum outro nome de usußrio que pode-se comunicar com o computador remoto. Consulte "Alterando a conta de usußrio sob a qual o Microsoft Distributed Transaction Coordinator Θ executado" acima.
Clientes que utilizam o MS DTC em um ambiente MSCS devem instalar o Windows NT QFE Q116844. Este QFE repara um problema de chamadas de procedimento remoto (RPC, Remote Procedure Call) que pode fazer com que um cliente do MS DTC seja desligado ao tentar se conectar com o MS DTC em um servidor cluster. Este reparo tambΘm faz parte do Windows NT QFE1, disponφvel no site de transmissπo da Web do Windows NT Option Pack.
Servidores cluster devem definir a propriedade Nome do servidor remoto para um nome de servidor virtual utilizando o MTS Explorer. Isso permite que cliente remotos acessem componentes MTS dentro do cluster e, em caso de falha, certifique-se de que os clientes estπo fazendo referΩncia ao cluster, e nπo a um n≤ especφfico dentro daquele cluster.
Para os pacotes MTS nos clusters do MSCS, a conta de usußrio associada com a identidade do pacote deve ser um administrador de sistema ou deve ter permiss⌡es de acesso de cluster de 'Controle total' (como definido em cluadmin). Se vocΩ nπo executar o pacote sob a identidade de um administrador de sistema, o MTS nπo poderß se conectar ao MS DTC.
O MTS exige que as pastas do Windows NT tenham o mesmo caminho em todos os n≤s dentro de um cluster do MSCS (por exemplo, c:\winnt).
VocΩ deve desligar os recursos de cluster do MSCS (como o SQL Server) que sπo afetados pela instalaτπo do MTS antes de executar o Programa de Instalaτπo do MTS.
VocΩ pode instalar SQL Server 6.5 ap≤s a instalaτπo do MTS. ╔ recomendßvel que vocΩ instale o SQL Server 6.5 antes de instalar o MTS. Se vocΩ instalar o SQL Server 6.5 ap≤s instalar o MTS, o Programa de Instalaτπo do MTS tentarß certificar-se de que o MS DTC funciona corretamente.
O MTS inclui o script INSTCAT.SQL. Esse script atualiza os procedimentos armazenados de catßlogo para o driver ODBC do SQL Server. Se vocΩ nπo fez isso ainda, execute esse script utilizando o utilitßrio isql do SQL Server.
A autorizaτπo de seguranτa nπo estß ativa como padrπo.
VocΩ nπo pode definir uma identidade de pacote para um grupo.
Ao definir a identidade de pacote, o MTS valida a senha que vocΩ digitar. Entretanto, se vocΩ alterar a senha para a conta sem atualizar a senha no MTS Explorer, o pacote nπo executa.
O arquivo de log do MS DTC agora pode ser localizado em uma pasta compactada. Entretanto, para um melhor desempenho, nπo compacte o arquivo de log do Microsoft DTC nem armazene em uma pasta compactada. O MS DTC deve descompactar o arquivo de log antes de ele ser utilizado.
Ao redefinir o arquivo de log do MS DTC no Windows 95, vocΩ pode ver uma caixa de dißlogo chamada "MTxOCI" seguida por uma segunda caixa de dißlogo chamada ""Falha na criaτπo do arquivo de log do MS DTC." Se isso ocorrer, vocΩ deve desativar a inicializaτπo automßtica do MS DTC como descrito em "Monitorando transaτ⌡es MTS no Windows 95." Reinicie seu computador e redefina o arquivo de log. Em seguida, vocΩ pode reativar a inicializaτπo automßtica do MS DTC.
Outros problemas na redefiniτπo do arquivo de log do MS DTC podem ser reparados fechando-se o MTS Explorer, reiniciando o MTS Explorer, e tentando redefini-lo novamente. Em algumas ocorrΩncias, pode-se necessitar de vßrias tentativas antes de ser bem-sucedido.
A documentaτπo para iniciar e parar o MS DTC no MicrosoftÒ WindowsÒ 95 deve ser como segue:
Como padrπo, o Microsoft Distributed Transaction Coordinator (MS DTC) Θ configurado para iniciar automaticamente quando um sistema Windows NT ou Windows 95 inicia. Para evitar que o MS DTC inicie automaticamente ap≤s reinicializar um computador com Windows 95, utilize o editor de Registro para localizar a chave de Registro HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices e, em seguida, exclua a entrada de valor denominada MSDTC. ConvΘm ativar a inicializaτπo automßtica do MS DTC novamente, utilize o editor de Registro para criar uma entrada de valor denominada MSDTC com o valor da seqⁿΩncia de caracteres "msdtcw -start"
sob a chave de Registro HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices .
Observe que o nome do serviτo Θ "msdtcw"
, e nπo "msdtc"
, e que hß um espaτo antes do hφfen.
VocΩ nπo pode administrar remotamente uma instalaτπo MTS 2.0 a partir de um computador que executa a versπo anterior do MTS. Se tentar fazΩ-lo, um c≤digo de erro serß apresentado ou o MTS Explorer serß finalizado inesperadamente.
Pacote individual desligado nπo Θ suportado ao administrar remotamente um computador x com MTS 1.
Depois de instalar o MTS 2.0, vocΩ pode ver uma violaτπo de acesso ao desligar o MicrosoftÒ Visual BasicÒ 5.0. Esta Θ uma falha conhecida do Visual Basic 5.0 que pode ser reparada pela instalaτπo do Visual StudioÔ Service Pack 2 a partir do http://www.microsoft.com/vstudio. Para obter maiores informaτ⌡es sobre este problema, consulte o artigo Q167213 "Base de conhecimento".
Hß um problema conhecido que ocorre se um processo do servidor MTS termina inesperadamente (devido a um failfast, uma declaraτπo ou uma violaτπo de acesso), tentativas subseqⁿentes para reiniciar o aplicativo criam processos MTS m·ltiplos. (O correto deve ser somente um processo MTS por pacote.) No caso de um processo servidor terminar inesperadamente, vocΩ deve reinicializar seu computador com Windows 95.
Hß um problema conhecido que pode causar deadlocks ao utilizar aproximadamente 40 conex⌡es pipes ou mais nomeadas de um cliente Windows 95 para o MS Distributed Transaction Coordinator (DTC). Para reparar esse problema, altere o protocolo entre o driver ODBC e o SQL Server para TCP/IP.
O COM permite que um servidor emule o outro utilizando as chaves de Registro TreatAs ou AutoTreatAs. Suponha que um cliente crie um componete de um dado CLSID utilizando o CoCreateInstance. Se a chave TreatAs ou AutoTreatAs estiver presente sob aquele CLSID no Registro, o COM irß criar o componente indicado por esta chave. Isso roteia efetivamente as requisiτ⌡es do cliente para o servidor de emulaτπo. (O mesmo roteamento Θ possφvel utilizando-se o ProgID se o cliente consultar seus servidores pelo ProgID em vez do CLSID.)
Os componentes que sπo emulados utilizando-se a TreatAs ou a AutoTreatAs nπo sπo componentes MTS vßlidos e nπo podem ser importados. Se a emulaτπo for adicionada ap≤s o componente ter sido importado, ele deve ser excluφdo do catßlogo MTS e, em seguida, substituφdo com o componente de emulaτπo.
Dentro de um processo servidor, objetos na mesma atividade devem ser registrados com modelos de encadeamento compatφveis. As combinaτ⌡es a seguir sπo vßlidas:
Observe que os componentes MTS segmentados apenas uma vez nπo podem ser criados por um Active Server Page em processo de execuτπo com o IIS ou em processo com um aplicativo do IIS utilizando a isolaτπo do processo.
A criaτπo de servidores locais nπo-MTS utilizando mΘtodo CreateInstance do objeto do contexto Θ extremamente desaconselhßvel. Tais servidores nπo podem ser escalonados com bons resultados e podem causar outras ocorrΩncias de servidor que nπo possam ser desligados pelo MTS. Se vocΩ precisar criar um servidor local nπo-MTS, utilize o CoCreateInstance.
Nπo utilize o COM surrogates dentro do MTS. Em vez disso, carregue servidores em processo no processo servidor MTS.
O controle de acesso ao pacote baseado na funτπo MTS nπo funciona corretamente quando os pacotes sπo front-ended pelos multiplexadores que representa clientes m·ltiplos (por exemplo, o Internet Information Server). Os pacotes MTS utilizados nesses ambientes devem ser configurados com a seguranτa desativada.
Isto pode ser reparado pela instalaτπo do Windows NT QFE1, disponφvel no site de transmissπo da Web no Windows NT Option Pack. Depois de instalar o QFE, a seguranτa baseada em funτπo funcionarß corretamente com o IIS.
Quando vocΩ cria aplicativos IIS seguros que utilizam processo de isolamento, o IIS cria um pacote MTS que Θ definido para ser executado como IWAM_<nome do computador>. Se vocΩ desejar alterar a identidade desses pacotes, deve-se tambΘm adicionar uma nova identidade de pacote ao grupo "MTS Trusted Impersonators" ou a seguranτa nπo funcionarß corretamente em outros componentes MTS fora de processo. Se isso nπo for feito, o chamador parecerß ser IWAM_<nome do computador> em vez do cliente verdadeiro do IIS.
O ADO apaga qualquer informaτπo que vocΩ possa ter colocado num objeto 'ErrorInfo'. Hß uma alteraτπo de c≤digo para este problema que precisa ser implementada no tratamento de erros.
Para o Visual Basic, o c≤digo Θ similar ao que se segue:
ErrorHandler: ' disponibilizaτπo 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
Para o Visual C++, o c≤digo Θ similar ao que se segue:
// // ErrorInfo Θ salvo aqui porque o seguinte // c≤digo de disponibilizaτπo do ADO pode desmarcß-lo. // IErrorInfo * pErrorInfo = NULL; GetErrorInfo(NULL, &pErrorInfo); if (adoRsBalance) adoRsBalance->Release(); if (adoCoConnection) adoCoConnection->Release(); AtlReportError( CLSID_CAccount, pErrMsg, IID_IAccount, hr); // // coloque o error back no TLS // SetErrorInfo(NULL, pErrorInfo);
Para o Visual J++, o c≤digo Θ similar ao que se segue:
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); }
Observaτπo No Java vocΩ deve fechar expressamente o conjunto de registros e/ou as conex⌡es, bem como liberar os objetos ADO.
A documentaτπo declara incorretamente que uma versπo do Active Server Page (ASP) do cliente do 'Banco de exemplo' Θ fornecida.
O MTS 1.0 teve um limite de 100 mΘtodos por componente. No MTS 2.0 agora esse limite Θ de 1024 mΘtodos.
Os componentes que utilizam o RDO 2.0 e sπo acessados simultaneamente por clientes m·ltiplos que podem acusar violaτ⌡es de acesso. Isso tem sido observado em servidores que tΩm m·ltiplos processadores. Esse problema tem sido observado em componentes que utilizam o ADO.
Os exemplos do Visual Basic Scripting (VBScript) para administraτπo automatizada do MTS estπo localizados em \Program Files\Mts\Samples, nπo \Program Files\Mtx\Samples\WSH como afirmado na documentaτπo.
Para compilar os componentes do banco de exemplo Java no Windows 95, execute o 'midl.exe' no arquivo 'Account.idl', em seguida execute o 'SetJavaDev.bat'.
Os componentes MTS nπo devem ser construφdos como DLLs de extens⌡es MFC, porque tais DLLs podem ser carregadas somente pelos aplicativos MFC. Um componente COM, e portanto um componente MTS, deve ser construφdo para que possa ser carregado em qualquer processo, independente do tipo de aplicativo que iniciou o processo.
Para obter maiores informaτ⌡es sobre as DLLs de extens⌡es MFC, consulte o Guia do Programador do Microsoft Visual C++.
Quando um processo do 'Mtx.exe' sendo executado nos componentes Visual Basic 4.0 Θ "Desligar ap≤s estar ocioso por x minutos", ocorre um problema conhecido que resulta em uma violaτπo de acesso de 'Leitura'. Atualmente nπo hß soluτπo conhecida para esse problema. Acredita-se que se mais de dois componentes Visual Basic 4.0 forem utilizados em um processo, Θ mais provßvel que isso aconteτa. Uma soluτπo Θ definir seu pacote para "Manter em execuτπo quando estiver ocioso". Isso torna-se somente um problema quando utilizam-se componentes construφdos com o Visual Basic 4.0 -- Nπo hß mais problemas no Visual Basic 5.0.
Se o componente do servidor utilizar o RDO, nunca deixe que um rdoConnection com um rdoResultset ativo caia do escopo ou poderß resultar em uma deadlock. VocΩ deve fechar manualmente o rdoResultset ou o rdoConnection para evitar a deadlock. A seqⁿΩncia a seguir produz uma deadlock:
O deadlock Θ evitado manualmente, fechando-se o conjunto de resultados (ou conexπo) no final da etapa 1, que gera imediatamente chamadas ODBC para fechar a instruτπo (e a conexπo). A raiz do problema Θ o atraso apresentado pela mensagem postada na janela oculta para fazer com que o ODBC se feche.
Sempre que vocΩ recompilar um projeto OLE DLL no Visual Basic 4.0, o Visual Basic grava novamente todas as entradas de Registro para todos os componentes (classes Visual Basic) que existem naquele DLL. AlΘm disso, o Visual Basic pode gerar novos GUIDs (dependendo da configuraτπo do projeto) para identificar os componentes naquele DLL. Isso significa que os componentes MTS nπo sπo mais registrados corretamente no catßlogo MTS.
Hß duas soluτ⌡es para este problema. Primeiro, hß um botπo Atualizar no Transaction Server Explorer, bem como o comando Atualizar todos os componentes no menu Ferramentas. Se vocΩ utilizar esse comando o Microsoft Transaction Server irß reparar todas as inconsistΩncias nas entradas de Registro dos componentes no painel direito do Explorer atualmente.
Se vocΩ instalar a versπo desenvolvida do Microsoft Transaction Server, verifique a opτπo VB Addin para ativar um recurso que renovarß automaticamente os componentes depois de recompilados. A pr≤xima vez que vocΩ executar o Visual Basic 4.0, o add-in serß automaticamente instalado em seu Visual Basic IDE. VocΩ pode tambΘm ativar e desativar o recurso em uma base por projeto selecionando ou deselecionando o comando MTxServer RegRefresh | AutoRefresh after compile no menu Add-Ins do Visual Basic. Se vocΩ desejar renovar todos os componentes do Microsoft Transaction Server em um dado momento, pode-se utilizar o comando MTxServer RegRefresh | Refresh all components agora no menu Add-Ins .
Importante O Visual Basic Add-in tem sido atualizado para funcionar com o Visual Basic versπo 4.0 e versπo 5.0. Uma vez instalado, ele irß renovar automaticamente o catßlogo do Transaction Server com as alteraτ⌡es feitas durante cada compilaτπo. A opτπo do menu 'Add-in' nπo Θ mais suportada para ativar e desativar a renovaτπo automßtica.
A utilizaτπo do add-in irß renovar corretamente o catßlogo do MTS, mesmo ap≤s as compilaτ⌡es do Visual Basic que geram novos GUIDs de componentes. Observe tambΘm que a definiτπo Compatible OLE Server na caixa de dißlogo Project Options no Visual Basic pode ser utilizada para interromper o Visual Basic de gerar novos GUIDs de componentes.
A renovaτπo do catßlogo do MTS depende da nπo alteraτπo do ProgIDs de seus componentes. No Visual Basic 4.0, o ProgID do componente Θ formado pela seguinte concatenaτπo: nome do projeto.nome da classe. Se vocΩ alterar qualquer um desses itens, terß que reinstalar o(s) componente(s) no MTS Explorer.
A construτπo do componente no Visual Basic 4.0 sem selecionar a opτπo Compatible OLE Server recoloca os antigos CLSID e IID em cada compilaτπo. Hß desvantagens quando um componente MTS Θ desenvolvido, mesmo que o add-in do Visual Basic esteja ativado.
Ao relatar uma falha, inclua a informaτπo a seguir em seu relat≤rio de falha:
Se vocΩ tiver uma pergunta tΘcnica sobre o Microsoft® Transaction Server, utilize a documentaτπo on-line ou consulte a 'Ajuda' clicando no botπo Ajuda durante um procedimento. Se vocΩ ainda tiver alguma d·vida, o Microsoft oferece serviτos e suporte tΘcnico que vπo desde ferramentas de auto-ajuda a assistΩncia direta com a Microsoft Technical Support Engineer. Observaτπo: Os serviτos e preτos listados aqui estπo disponφveis somente nos Estados Unidos e Canadß (consulte Technical Support Worldwide abaixo).
Microsoft Technical Support Online: Este site inovador utiliza a tecnologia de ponta do Microsoft para ajudß-lo a acessar as informaτ⌡es tΘcnicas mais importantes e recursos para responder a suas quest⌡es. Utilize os 'Assistentes de soluτπo de problema' para diagnosticar e responder facilmente quest⌡es tΘcnicas. Ou selecione artigos tΘcnicos, auxφlio de programaτπo ou perguntas comuns do Microsoft Knowledge Base de mais de 75.000 artigos. Visite http://www.microsoft.com/support/ hoje e veja como Θ fßcil encontrar as respostas que vocΩ precisa.
Pay-Per-Incident Support: Se ainda necessitar de respostas para suas d·vidas tΘcnicas, vocΩ pode adquirir o Pay-Per-Incident Support. Nos EUA. e Canadß, por uma taxa de $195US por ocorrΩncia, ligue para (800) 936-5900, 24 horas por dia, sete dias por semana, inclusive feriados.
Observaτπo Taxas de suporte para as ligaτ⌡es (800)# serπo debitadas em seu cartπo de crΘdito VISA, MasterCard ou American Express.
Priority Annual Support: Se vocΩ esperar um grande n·mero de ocorrΩncias de suporte ou precisar de acesso de prioridade ao Microsoft Technical Support Engineers, poderß adquirir um Priority Annual Comprehensive Account. Nos EUA e Canadß, para obter maiores informaτ⌡es ou para adquirir uma conta anual ao custo de $1,695US por 10 ocorrΩncias, ligue para (800) 936-3500, 24 horas por dia, 7 dias por semana, inclusive feriados. Para enviar uma ocorrΩncia a uma conta existente, ligue para (800) 936-4900, 24 horas por dia, 7 dias por semana, inclusive feriados.
Enviando d·vidas via Internet: Nos EUA e Canadß, vocΩ pode tambΘm enviar suas d·vidas de suporte Pay-Per-Incident ou Priority Annual via Internet com Web Response. Para obter maiores detalhes, utilize o Microsoft Technical Support Online em http://www.microsoft.com/support/.
Prioridade Plus: O Microsoft Technical Support oferece tambΘm contas especiais para empresas de mΘdio porte que exigem resoluτπo prioritßria de ocorrΩncia, incluindo suporte business-critical e acesso a informaτ⌡es de destino para auxiliar os profissionais de tarefa de 'Ajuda' e informaτ⌡es tecnol≤gicas no suporte do planejamento para o desenvolvimento do produto oculto. Para obter maiores informaτ⌡es, Nos EUA e Canadß, ligue para (800) 936-3500, 24 horas por dia, 7 dias por semana, inclusive feriados.
Priority Consult Line: Recebe, por hora, consultas de d·vidas de suporte que vπo alΘm do suporte no ßrea tΘcnica tradicional. Estas incluem estrutura ou planejamento para desenvolvimento, desenvolvimento de software, revisπo de c≤digo e planejamento de implementaτπo. O Consult Line abrange todos os produtos da Microsoft, inclusive aqueles produtos utilizados para desenvolver soluτ⌡es de Internet e Intranet. Para obter maiores informaτ⌡es ou adquirir serviτos de consulta por hora a $195US por hora (mφnimo de uma hora), ligue para (800) 936-5200, de segunda a sexta-feira, exceto feriados, das 6 αs 18 horas, hora do Pacφfico.
Serviτos e programas profissionais: O Microsoft Technical Support oferece tambΘm programas e serviτos de suporte profissional para empresas de grande porte que necessitam de um relacionamento direto com a Microsoft. Para obter maiores informaτ⌡es, consulte a seτπo "Suporte tΘcnico" do arquivo da 'Ajuda', ou visite o Microsoft Technical Support Online em http://www.microsoft.com/support/.
Text Telephone: Os serviτos de telefone textual da Microsoft (TTY/TTD) estπo disponφveis para os surdos ou aqueles com dificuldades auditivas. Nos Estados Unidos, utilizando um modem TTY/TTD, disque (425) 635-4948. No Canadß, utilizando um modem TTY/TTD, disque (905) 568-9641.
Technical Support Worldwide: Os serviτos de suporte e os preτos podem variar fora dos Estados Unidos e do Canadß. Para obter informaτ⌡es sobre suporte disponφvel fora dos EUA e Canadß, entre em contato com a subsidißria local da Microsoft em sua ßrea. Para obter uma lista das subsidißrias da Microsoft em todo o mundo, consulte a seτπo "Suporte tΘcnico" do arquivo da 'Ajuda', ou visite o Microsoft Technical Support Online em http://www.microsoft.com/support/.
Observaτπo Os serviτos e preτos listados aqui estπo disponφveis somente nos Estados Unidos e Canadß. Os serviτos de suporte podem variar fora dos EUA e Canadß. Para obter maiores informaτ⌡es sobre suporte em outros locais, entre em contato com a subsidißria local da Microsoft.
Os serviτos de suporte da Microsoft’ estπo sujeitos aos preτos, termos e condiτ⌡es vigentes da Microsoft’, que, por sua vez, estπo sujeitos a alteraτ⌡es sem aviso prΘvio.
© 1998 Microsoft Corporation
Estes materiais sπo fornecidos “no estado em que se encontram,” somente para o prop≤sito de informaτπo.
Nem a Microsoft nem seus fornecedores tornam qualquer garantia, expressa ou implicada com relaτπo ao conte·do desses materiais ou a exatidπo de qualquer informaτπo contida aqui, incluindo, sem limitaτπo, as garantias implicadas de comercializaτπo e adequaτπo para prop≤sitos especφficos. Porque alguns estados/jurisdiτ⌡es nπo permitem exclus⌡es de garantias, as limitaτ⌡es acima nπo podem ser aplicadas a vocΩ.
Nem a Microsoft nem seus fornecedores terπo qualquer responsabilidade pelos danos, ou o que quer que seja, incluindo conseqⁿente, eventual, direto, indireto, especial e perda de lucros. Por isso alguns estados/jurisdiτ⌡es nπo permitem exclus⌡es de garantias implicadas. As limitaτ⌡es acima podem nπo ser aplicadas a vocΩ. Em qualquer evento a Microsoft’e seus fornecedores’ responsabilizam-se integralmente por qualquer modo decorrente desses materiais, seja por dano, contrato ou do contrßrio nπo irß exceder o preτo comercial sugerido nesses materiais.