Mensagem de erro quando você usar a sintaxe correta da instrução CREATE TYPE no SQL Server 2005: "Sintaxe incorreta próxima a 'ObjectName'"

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 918039
Bug n º: 404124 (SQLBUDT)
Sintomas
Considere o seguinte cenário. No Microsoft SQL Server 2005, você pode usar a sintaxe correta da instrução CREATE TYPE para criar um common language runtime (CLR)-tipo definido pelo usuário em um banco de dados. O nível de compatibilidade do banco de dados é definido para 80. Nesse cenário, você recebe a seguinte mensagem de erro:
Servidor: Msg 102, nível 15, estado 1, linha 2
Sintaxe incorreta próxima a 'ObjectName'.
No entanto, você recebe a mensagem de erro esperado se você fazer o seguinte:
  • Você usar a instrução CREATE PROCEDURE ou a instrução CREATE FUNCTION.
  • Crie um procedimento CLR armazenado ou uma função CLR.
A mensagem de erro contém o seguinte texto:
Servidor: Msg 325, nível 15, estado 1, procedimento ObjectName, Linha 4Incorrect sintaxe próxima 'externo'. Talvez seja necessário definir o nível de compatibilidade do banco de dados atual para um valor mais alto para habilitar este recurso. Consulte a Ajuda para o procedimento armazenado sp_dbcmptlevel.
Resolução
Para resolver esse problema, você deve definir o nível de compatibilidade do banco de dados para 90, quando você tentar criar objetos CLR no banco de dados. Para fazer isso, execute a seguinte instrução do banco de dados:
sp_dbcmptlevel Exec 'DatabaseName', 90
Observação: Se você migrar um banco de dados do Microsoft SQL Server 2000 para o SQL Server 2005, você deve se certificar que você defina o nível de compatibilidade para 90 antes de criar um objeto CLR no banco de dados.
Situação
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 918039 - Última Revisão: 04/10/2016 05:01:00 - Revisão: 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbtshoot kbprb kbsql2005clr kbexpertiseadvanced kbmt KB918039 KbMtpt
Comentários