Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Se você executar um procedimento armazenado remoto com parâmetros de saída em um servidor vinculado por meio de um driver ODBC para SQL Server, o driver ODBC não poderá recuperar o parâmetro de saída e você poderá receber a seguinte mensagem de erro:


[Microsoft] [ODBC SQL Server Driver]Violação de atributo de tipo de dados restrito

Resolução

Um hotfix com suporte está disponível na Microsoft. No entanto, esse hotfix destina-se a corrigir apenas o problema descrito neste artigo. Aplique esse hotfix somente a sistemas que estão enfrentando esse problema específico. Esse hotfix pode receber testes adicionais. Portanto, se você não for gravemente afetado por esse problema, recomendamos aguardar a próxima atualização de software que contém esse hotfix.

Se o hotfix estiver disponível para download, haverá uma seção "Download de hotfix disponível" na parte superior deste artigo da Base de Dados de Conhecimento. Se esta seção não aparecer, entre em contato com o Serviço de Atendimento ao Cliente e o Suporte da Microsoft para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se alguma solução de problemas for necessária, talvez seja necessário criar uma solicitação de serviço separada. Os custos usuais de suporte serão aplicados a perguntas e problemas de suporte adicionais que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de Atendimento ao Cliente e Suporte da Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:

http://support.microsoft.com/contactus/?ws=supportObservação O formulário "Download de hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

' A versão em inglês deste hotfix tem os atributos de arquivo (ou posterior) listados na tabela a seguir. As datas e horas desses arquivos são listadas em UTC (tempo universal coordenado). Quando você visualizar as informações sobre os arquivos, elas são convertidas no horário local. Para saber a diferença entre o UTC e o horário local, use a guia Fuso Horário da ferramenta Data e Hora no Painel de Controle.

MDAC 2.7 Service Pack 1

            
   Date         Time   Version          Size     File name
   ----------------------------------------------------------
   12-Nov-2002  02:42  2000.81.9031.12   24,576  Odbcbcp.dll
   12-Nov-2002  02:41  2000.81.9031.12  385,024  Sqlsrv32.dll

MDAC 2.8

            
   Date         Time   Version         Size     File name
   ---------------------------------------------------------
   15-Jun-2004  00:22  2000.85.1045.0   28,672  Dbnmpntw.dll
   15-Jun-2004  00:21  2.80.1045.0     147,456  Msadds.dll
   15-Jun-2004  00:21  2.80.1045.0     512,000  Msado15.dll
   15-Jun-2004  00:21  2.80.1045.0     163,840  Msadomd.dll
   15-Jun-2004  00:21  2.80.1045.0     184,320  Msadox.dll
   15-Jun-2004  00:21  2.80.1045.0      53,248  Msadrh15.dll
   15-Jun-2004  00:21  2.80.1045.0     225,280  Msdaora.dll
   15-Jun-2004  00:21  2.80.1045.0     147,456  Msdart.dll
   15-Jun-2004  00:21  2.575.1045.0    139,264  Msorcl32.dll
   15-Jun-2004  00:21  3.525.1045.0    221,184  Odbc32.dll
   15-Jun-2004  00:22  2000.85.1045.0   24,576  Odbcbcp.dll
   15-Jun-2004  00:21  2.80.1045.0     442,368  Oledb32.dll
   15-Jun-2004  00:21  2000.85.1045.0  503,808  Sqloledb.dll
   15-Jun-2004  00:21  2000.85.1045.0  401,408  Sqlsrv32.dll
   15-Jun-2004  00:08  2000.85.1045.0  208,896  Sqlxmlx.dll

Observação Para obter uma lista de todos os hotfixes disponíveis para o MDAC 2.8, clique no seguinte número de artigo para exibir o artigo na Base de Dados de Conhecimento Microsoft:

839801 CORREÇÃO: hotfixes estão disponíveis para o MDAC 2.8
 

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Informações adicionais

Etapas para reproduzir o comportamento

  1. Use o código a seguir para criar um SQL Server armazenado com parâmetros de saída em um servidor vinculado:

        USE pubs
        GO
    
        CREATE PROCEDURE dbo.sample_stored_procedure
            @op varchar(20) output
        AS
        set @op = 'demo string'
        return 0
        GO
    
    

    Observação Você não receberá a mensagem de erro listada na seção "Sintomas" se o procedimento armazenado retornar um conjunto de resultados.

  2. O código de exemplo do aplicativo Microsoft Visual Basic a seguir acessa o procedimento armazenado remoto em um servidor vinculado. No exemplo de código a seguir, srv1
    esrv2 são os dois servidores que estão executando o SQL Server e você está criando srv2 como um servidor vinculado em srv1.

        Dim cn As new ADODB.Connection
        Dim cmd As new ADODB.Command
        Dim prm As ADODB.Parameter
    
        cn.Open "Driver={SQL Server};Server=srv1;UID=sa;PWD=sa_password;"
    
        cmd.ActiveConnection = cn
    
        cmd.CommandType = adCmdStoredProc
        cmd.CommandText = "srv2.pubs.dbo.sample_stored_procedure"
    
        Set prm = cmd.CreateParameter("op", adVarChar, adParamOutput, 20)
        cmd.Parameters.Append prm
    
        cmd.Execute
        Debug.Print prm.Value
    
        cn.Close
    
        Set cn = Nothing
    

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×