# Excluído é exibida nos registros quando você abrir uma tabela ODBC vinculada de um banco de dados do Oracle 10 g no Access 2003, no Access 2002 ou no Access 2000

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

IMPORTANTE: 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 913070
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Quando você abre uma tabela vinculada ODBC (Open Database Connectivity) de um banco de dados Oracle 10 g no Microsoft Office Access 2003, no Microsoft Access 2002 ou no Microsoft Access 2000, #Deleted é exibido nos registros. A ocorrência desse problema depende de várias condições. Este artigo descreve vários métodos para resolver ou contornar esse problema.
Sintomas
Quando você abre uma tabela ODBC vinculada de um banco de dados do Oracle 10 g no Access 2003, no Access 2002 ou no Access 2000, #Deleted é exibido nos registros. Esse problema ocorre quando todas as seguintes condições forem verdadeiras:
  • A tabela vinculada ODBC usa o tipo de dados VARCHAR2 para a chave primária.
  • O conjunto de caracteres de cliente Oracle que é armazenado na configuração NLS_LANG difere o conjunto de caracteres de banco de dados Oracle que é armazenado no NLS_CHARACTERSET configuração.
  • Você está usando uma versão do driver ODBC do Oracle anterior à versão 10.1.0.4.
Causa
O mecanismo de banco de dados Microsoft Jet destina-se ao redor de um modelo orientado a conjunto de chaves. Isso significa que dados são recuperados, inseridos e atualizados com base em um valor de chave. Na tabela vinculada ODBC, esse valor de chave é o índice exclusivo da tabela.

O Access usa um processo semelhante para recuperar registros da tabela vinculada ODBC. Primeiro, o Access recupera o valor da chave. Em seguida, o Access recupera o resto dos campos que correspondem o valor da chave. Se o Access não pode encontrar esse valor chave novamente quando o Access tenta encontrar o resto do Registro, o Access presumirá que o registro é excluído. Quando o conjunto de caracteres de cliente Oracle é diferente do conjunto de caracteres de banco de dados Oracle, Access não pode encontrar o valor da chave e #Deleted é exibido nos registros afetados.
Resolução
Para resolver esse problema, use um dos seguintes métodos. Use o método que melhor se aplica à sua situação.

Método 1: Alterar o conjunto de caracteres de banco de dados Oracle para ser o mesmo conjunto de caracteres cliente Oracle

Alterar o conjunto de caracteres de banco de dados Oracle é armazenado na configuração NLS_CHARACTERSET para ser o mesmo que o conjunto de caracteres de cliente Oracle que é armazenado na configuração NLS_LANG.

Observação A configuração NLS_LANG é armazenada na seguinte subchave do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1
Para obter mais informações sobre como alterar o conjunto de caracteres de banco de dados Oracle que é armazenado na configuração NLS_CHARACTERSET, consulte a documentação do produto Oracle.

Método 2: Alterar dinamicamente o conjunto de caracteres de cliente Oracle para ser o mesmo que o conjunto de caracteres de banco de dados Oracle

Use um arquivo .cmd para alterar dinamicamente o caractere de cliente do Oracle definido para ser o mesmo que o conjunto de caracteres de banco de dados Oracle. Para fazer isso, execute as seguintes etapas:
  1. Inicie o bloco de notas.
  2. Em um arquivo de texto, digite os seguintes comandos:
    Definir NLS_LANG = LANGUAGE

    Iniciar o database path de program path \msaccess.exe" ""
    Observação O primeiro comando LANGUAGE é um espaço reservado para o nome de idioma do Oracle totalmente qualificado para o conjunto de caracteres usado no servidor. Por exemplo, digite AMERICAN_AMERICA.WE8MSWIN1252 . O segundo comando, o program path é um espaço reservado para o caminho completo do arquivo Msaccess.exe. Por exemplo, digite C:\Program Files\Microsoft Office\OFFICE11 . O segundo comando, o database path é um espaço reservado para o caminho completo do arquivo de banco de dados do Access que você deseja abrir. Por exemplo, digite C:\Databases\My Database.mdb .
  3. Salve o arquivo.

    importante Certifique-se de que você salvar o arquivo usando a extensão .cmd.
  4. Para iniciar o Access e abra o arquivo de banco de dados, clique duas vezes no arquivo .cmd.

Método 3: Instalar o ODBC do Oracle versão do driver 10.1.0.4 atualizado

Instale o ODBC para Oracle versão do driver 10.1.0.4. Este driver está incluído no Oracle atualizar 4493372. No entanto, você deve instalar atualização do cliente Oracle 4163362 antes de instalar atualização Oracle 4493372. Para obter essas atualizações, entre em contato com Oracle.

Observação Este driver não resolve um problema com o símbolo do euro e com 26 caracteres que possuem um código entre 128 e 159 no WE8MSWIN1252 conjunto de caracteres. Esse problema só pode ser resolvido usando o mesmo conjunto de caracteres (WE8MSWIN1252) no computador cliente e no banco de dados.
Como Contornar
Se os métodos na seção "Resolução" não se aplicam a sua situação, use um dos seguintes métodos para contornar este problema.

Método 1: Usar o Driver Microsoft ODBC para Oracle

Em vez de usar o driver ODBC do Oracle, você pode usar o Driver Microsoft ODBC para Oracle quando você cria um nome de fonte de dados ODBC (DSN).

Observação Esse método não funciona se a chave primária contém caracteres que pertencem a uma página de código mas não a outra página de código. Por exemplo, o símbolo do euro é parte do conjunto de caractere WE8MSWIN1252, mas o símbolo do euro não é parte do conjunto de caracteres WE8ISO8859P1. Se um registro tiver um valor de chave primária que contém o símbolo do euro, a tabela vinculada ODBC exibirá #Deleted para cada valor do campo deste registro específico. Outros registros são exibidos corretamente.

Método 2: Criar a tabela vinculada ODBC, mas não abri-lo

Em vez de abrir a tabela vinculada ODBC diretamente, você pode criar uma consulta, um formulário ou relatório que é baseado na tabela vinculada ODBC. Para uma consulta ou para um formulário, certifique-se de que clicar instantâneo em Tipo de Recordset . Não clique em Dynaset em Tipo de Recordset . Para fazer isso, execute as seguintes etapas:
  1. Inicie o Access.
  2. Abrir o banco de dados contém o ODBC vinculado tabela.
  3. Crie um formulário ou uma consulta.
  4. Abra o formulário ou a consulta no modo de design.
  5. Para um formulário, execute estas etapas:
    1. Para abrir o formulário Propriedades diálogo caixa, clique em Propriedades no menu Exibir .
    2. Na caixa de diálogo Propriedades do formulário , clique em formulário e, em seguida, clique na guia dados .
    Para uma consulta, execute estas etapas:
    1. Para abrir a caixa de diálogo Query Properties , clique em Propriedades no menu Exibir .
    2. No consulta propriedades diálogo, clique na guia Geral .
  6. Em Tipo de Recordset , clique em Snapshot .

Método 3: Usar uma consulta passagem SQL

Em vez de usar o ODBC vinculado da tabela, você pode usar uma consulta passagem SQL. Usando uma consulta passagem SQL, você trabalha diretamente com a tabela do servidor em vez do mecanismo de banco de dados Microsoft Jet processar os dados. Para obter mais informações sobre como criar uma consulta passagem SQL no Access, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
303968Como criar uma consulta passagem SQL no Access
Mais Informações

Etapas para reproduzir o problema

  1. No Oracle, crie uma tabela banco de dados que usa o tipo de dados VARCHAR2 para a chave primária.
  2. Em um computador limpo, instale o Microsoft Office 2003, Microsoft Office XP ou Microsoft Office 2000.
  3. Instale o aplicativo de cliente Oracle 10 g.
  4. Confirme que o conjunto de caracteres de cliente Oracle que é armazenado na configuração NLS_LANG difere o conjunto de caracteres de banco de dados Oracle que é armazenado na configuração NLS_CHARACTERSET.

    Observação A configuração NLS_LANG é armazenada na seguinte subchave do Registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1
    Para obter mais informações sobre como determinar o conjunto de caracteres de banco de dados Oracle que é armazenado na configuração NLS_CHARACTERSET, consulte a documentação do produto Oracle.
  5. Usando o administrador ODBC, criar um novo DSN para o banco de dados Oracle 10 g que usa o Oracle no OraClient10g_home1 driver.
  6. Inicie o Access.
  7. No menu arquivo , clique em novo .
  8. Em Novo arquivo , clique em banco de dados em branco .
  9. Digite um nome para o banco de dados e, em seguida, clique em criar .
  10. No menu arquivo , aponte para obter dados externos e em seguida, clique em Vincular tabelas .
  11. Na caixa de diálogo vincular , altere a caixa arquivos do tipo para Bancos de dados ODBC .
  12. Na caixa de diálogo Selecionar fonte de dados , clique em Machine Data Source .
  13. Selecione o DSN que você criou na etapa 5 e, em seguida, clique em OK .
  14. Digite as informações de logon adequada e, em seguida, clique em OK .
  15. Localize e selecione a tabela de banco de dados que você criou na etapa 1 e, em seguida, clique em OK .
  16. Abra a tabela de banco de dados no modo folha de dados. Observe que #Deleted é exibido para os valores nos registros.
Os produtos de terceiros mencionados neste artigo são fabricados por empresas que são independentes da Microsoft. A Microsoft não oferece garantia, implícita ou não, em relação ao desempenho ou à confiabilidade desses produtos.
pounddeleted

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 913070 - Última Revisão: 12/09/2015 04:19:53 - Revisão: 1.3

Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition, Microsoft Access 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kboracle kbexpertiseinter kbtshoot kbprb KB913070 KbMtpt
Comentários