FIX: COM 可能不能初始化的工作线程时使用 sp_OA

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

315395
本文已归档。它按“原样”提供,并且不再更新。
错误 #: 356428 (SHILOH_BUGS)
症状
要调用 COM 对象通过 sp_OA 存储过程的尝试可能失败,并指出的错误消息:
  • 无法初始化 COM 或该 COM 已初始化与其他模式 (HRESULT 0x80010106)

    -或者-

  • 在辅助线程可能会停止响应 (挂起) 中 OLE32! DllMain DLL_THREAD_DETACH 处理作为辅助线程的调用时退出。
后一种问题也可能会导致 SQL Server 停止响应。
解决方案
若要解决此问题,获得最新的 service pack,对于 Microsoft SQL Server 2000。有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211INF: 如何获取最新的 SQL Server 2000 Service Pack
: Microsoft SQL Server 2000 Service Pack 3 的版本之前创建的以下修补程序。

此修复程序的英文版应具有以下文件属性或更高版本:
   Version      File name       Description   ------------------------------------------   8.00.0474    Sqlservr.exe    SP1-based fix   8.00.0558    Sqlservr.exe    SP2-based fix
注: 由于文件相关性的最新的修补程序或功能,它包含该文件可能还包含其他文件。

: 如果使用的 Microsoft 数据引擎 (MSDE) 没有 Binn\Exe 文件夹 ; 因此,您可以跳过步骤复制 Sqlservr.pdb 文件。

状态
Microsoft 已经确认这是 Microsoft SQL Server 2000 中的问题。
Microsoft SQL Server 2000 Service Pack 3 中,第一次已得到纠正此问题。
更多信息
当您使用 sp_OA 相关存储的过程来调用 COM 对象,SQL Server 必须初始化并通过调用 CoInitializeExCoUninitialize 此辅助线程上初始化 COM。初始化发生在第一次 sp_OA 调用由一个批处理中和在非初始化发生在批的末尾时。在某些种情况下不会发生在非初始化,并在辅助线程保持初始化 COM 调用的。

警告: 本文已自动翻译

属性

文章 ID:315395 - 上次审阅时间:01/17/2015 05:18:38 - 修订版本: 5.2

  • Microsoft SQL Server 2000 标准版
  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbsqlserv2000sp3fix kbbug kbfix kbsqlserv2000presp3fix KB315395 KbMtzh
反馈