使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

如果通过用于SQL Server的 ODBC 驱动程序在链接服务器上运行具有输出参数的远程存储过程,则 ODBC 驱动程序无法检索输出参数,并且可能会收到以下错误消息:


[Microsoft][ODBC SQL Server驱动程序]受限数据类型属性冲突

解决方法

Microsoft 提供了支持的修补程序。 但是,此修补程序旨在仅更正本文中所述的问题。 仅将此修补程序应用于遇到此特定问题的系统。 此修补程序可能会收到其他测试。 因此,如果未受到此问题的严重影响,建议等待包含此修补程序的下一个软件更新。

如果修补程序可供下载,则本知识库文章顶部有“可用修补程序下载”部分。 如果未显示此部分,请联系 Microsoft 客户服务和支持部门获取修补程序。

请注意,如果出现其他问题或需要进行任何故障排除,则可能需要创建单独的服务请求。 通常的支持成本将适用于其他支持问题和不符合此特定修补程序条件的问题。 有关 Microsoft 客户服务和支持人员电话号码的完整列表或创建单独的服务请求,请访问以下 Microsoft 网站:

http://support.microsoft.com/contactus/?ws=support请注意,“可用修补程序下载”窗体显示修补程序可用的语言。 如果看不到语言,这是因为该语言不提供修补程序。

此修补程序的英文版本具有下表中列出的文件属性 (或更高版本) 。 这些文件的日期和时间在协调的通用时间 (UTC) 中列出。 在查看文件信息时,文件时间将转换为本地时间。 若要查找 UTC 与本地时间之间的差异,请在控制面板中的“日期和时间”工具中使用时区选项卡。

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

请注意,有关 MDAC 2.8 可用的所有修补程序的列表,请单击以下文章编号以查看 Microsoft 知识库中的文章:

839801修复:修补程序适用于 MDAC 2.8
 

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

更多信息

重现行为的步骤

  1. 使用以下代码在链接服务器上创建具有输出参数的SQL Server存储过程:

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

    请注意,如果存储过程返回结果集,则不会收到“症状”部分中列出的错误消息。

  2. 以下 Microsoft Visual Basic 应用程序示例代码访问链接服务器上的远程存储过程。 在下面的代码示例中,srv1
    srv2 是运行SQL Server的两个服务器,你正在将 srv2 创建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
    

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×