Artigo: 187289 - Última revisão: quinta-feira, 1 de Julho de 2004 - Revisão: 1.2 Como implementar transacções aninhadas com Oracle
SumárioADO e ODBC não suportam transacções aninhadas. No entanto, SQL nativo da Oracle suporta a palavra-chave ponto de SALVAGUARDA pode ser utilizada para simular transacções aninhadas. Mais InformaçãoA base de dados de Conhecimento Microsoft artigo 177138
(http://support.microsoft.com/kb/177138/EN-US/
)
, intitulado "INFO: aninhado transacções não disponíveis no ODBC/OLE DB/ADO" indica esta sobre transacções aninhadas: "Nenhum Open Database Connectivity (ODBC, nem qualquer suporta fornecedor Microsoft OLE DB disponibilizadas Nested transacções. ActiveX Data Objects (ADO) suporta a funcionalidade, mas apenas se o fornecedor subjacente expõe-lo. Actualmente nenhum dos fornecedores de OLE DB da Microsoft suporta Nested transacções. " Isto acontece para o Microsoft ODBC para Oracle controlador. No entanto, utilizando a palavra-chave do ponto de SALVAGUARDA, pode simular transacções aninhado. Para obter mais informações sobre suporte nativo de ODBC ou ADO para transacções aninhado, consulte o artigo mencionado acima. A palavra-chave do ponto de SALVAGUARDA basicamente define um marcador para declarações não consolidados numa sessão de Oracle. Pode anular estas instruções utilizando a opção para com a instrução de ROLLBACK. Este tudo tem de ser efectuado através de instruções de execução (tal como na forma de <connection>.Execute) porque o analisador ODBC não é possível analisar correctamente a palavra-chave do ponto de SALVAGUARDA. O seguinte código mostra como este tudo funciona: Este código irá consolidar as duas primeiras instruções INSERT e anulação duas segunda. Irá reparar que o conjunto completo de instruções é apresentado com um CONNECTION nível BeginTrans e CommitTrans. Isto é necessário para que, ao nível da API de ODBC, SQL_AUTOCOMMIT SQLSetConnectOption estiver definido como SQL_AUTOCOMMIT_OFF. Depois de concluir a transacção é uma boa ideia para re-set SQL_AUTOCOMMIT para SQL_AUTOCOMMIT_ON (a predefinição) ao executar um CommitTrans ou um RollbackTrans. Uma vez que tem consolidada ou distribuído segurança suas transações com instruções a executar, não interessa se chamar CommitTrans ou RollbackTrans; qualquer forma, têm nada para confirmação ou anulação. Apenas estiver a chamar estas funções para repor SQL_AUTOCOMMIT SQL_AUTOCOMMIT_ON ambos fazem. ReferênciasPara obter informações sobre como adquirir a pilha de Microsoft Data Access Components (MDAC) (que inclui o Microsoft ODBC para Oracle controlador), consulte o seguinte artigo da base de dados de conhecimento da Microsoft: 175018
(http://support.microsoft.com/kb/175018/EN-US/
)
Como adquirir e instalar o controlador de ODBC Microsoft Oracle Para obter mais informações sobre aninhada transacções com ODBC e consulte o seguinte artigo da base de dados de conhecimento da Microsoft: 177138
(http://support.microsoft.com/kb/177138/EN-US/
)
INFO: Transacções aninhadas não está disponíveis na base de dados de ODBC/OLE/ADO Para informações sobre como utilizar ADO com Oracle, consulte o seguinte artigo da base de dados de conhecimento da Microsoft: 176936
(http://support.microsoft.com/kb/176936/EN-US/
)
INFO: Visual Basic 5.0 aceder a uma base de dados Oracle utilizando ADO A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 187289
(http://support.microsoft.com/kb/187289/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo