首页 > SQL Server 装载 msxmlsql.dll 失败的解决办法

SQL Server 装载 msxmlsql.dll 失败的解决办法

错误信息:装载 msxmlsql.dll 失败(Failed to load Msxmlsql.dll)。

环境:ASP.NET2.0  SQL Server 2000(SP4)

出错原因:存储过程中调用了扩展存储过程sp_xml_preparedocument来处理XML数据,但没有找到支持sp_xml_preparedocument运行的msxmlsql.dll文件。

问题分析:

首先看到msxml版本已经是最新的sp2版,这个应该没有问题。

其次去安装SQL Server的位置找msxmlsql名的文件,没有找到。

再去C:Program FilesMicrosoft SQL Server下查找,找到了若干个以msxmlsql为名的文件:



FailToFindMsxmlsql.jpg

后 面发现了下面篇英文文章才真正找到了原因,原因是安装SQL Server时没有安装到默认的目录(即%Program Files%Microsoft SQL Server),而SQL Server找msxmlsql.dll时就却到安装目录下找,于是出错了。



解决办法:将%Program Files%Microsoft SQL Server下的那几个msxmlsql文件拷到(保持目录结构不变)你的安装目录下,重启SQL Server服务。一切正常。



附上原文:

As part of our improvements on OpenXML, we have changed the MSXML component from 2.6 to 3.0 (running in 2.6 backwards-compatibility mode) and moved to a private DLL (called MSXMLSQL.DLL) in order to avoid the reboot requirement when installing SQL Server 2005. This change has been released the first time in the April CTP and will also be included in SQL Server 2000 SP4 (yeah!).

A couple of positives are that the parser will scale linear to the size of the document (there were cases when MSXML 2.6 was superlinear, ugh!), and the parent axis access in column pattern expressions will be finally performing (compared to the 2.6 based engine, it should be lightning fast :-)).

However, the April CTP seems to have an installation bug, if one decides to install the database engine (SQL Server 2005 April CTP that is) in a different location than the default (so is it still a non-breaking change? :-)).

MSXMLSQL.dll and .rll are installed to the same location as tools which is a configurable path. The default install location is:

%Program Files%Microsoft SQL Server90Shared

However, if INSTALLSQLSHAREDDIR is provided on the command line or set during GUI setup MSXMLSQL will be installed to:

%INSTALLSQLSHAREDDIR%90Shared

Since the code only looks in the first location, it will not find it. So, if you encounter the above error message, please just copy the missing files from %INSTALLSQLSHAREDDIR%90Shared to %Program Files%Microsoft SQL Server90Shared. We are working to get this fixed for the next CTP release (and of course make sure it does not occur in SP4 either).

If you install everying using default location, this is not an issue.

http://www.sqljunkies.com/WebLog/mrys/archive/2005/04/22/12478.aspx



更多相关:

  • 上篇笔记中梳理了一把 resolver 和 balancer,这里顺着前面的流程走一遍入口的 ClientConn 对象。ClientConn// ClientConn represents a virtual connection to a conceptual endpoint, to // perform RPCs. // //...

  • 我的实验是基于PSPNet模型实现二维图像的语义分割,下面的代码直接从得到的h5文件开始往下做。。。 也不知道是自己的检索能力出现了问题还是咋回事,搜遍全网都没有可以直接拿来用的语义分割代码,东拼西凑,算是搞成功了。 实验平台:Windows、VS2015、Tensorflow1.8 api、Python3.6 具体的流程为:...

  • Path Tracing 懒得翻译了,相信搞图形学的人都能看得懂,2333 Path Tracing is a rendering algorithm similar to ray tracing in which rays are cast from a virtual camera and traced through a s...

  • configure_file( [COPYONLY] [ESCAPE_QUOTES] [@ONLY][NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ]) 我遇到的是 configure_file(config/config.in ${CMAKE_SOURCE_DIR}/...

  •     直接复制以下代码创建一个名为settings.xml的文件,放到C:UsersAdministrator.m2下即可 SQLEXPRESS 的协议-->双击TCP/IP协议-->ip地址将1433端口启用,重启下MSSQL服务才能生效,示例图: 重启下MSSQL服务才能生效 转载于:https:/...

  • 一.ITL(Interested Transaction List):   ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag,lck和scn/fsc组成,用来记录该块所有发生的事务,一个itl可以看作是一条...

  • 转自http://blog.chinaunix.net/space.php?uid=16981447&do=blog&cuid=430716做了简单的格式整理,加入了一点点原创的东西。Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选...

  • 下面是几个常用命令行工具,先截图,再描述 在生成环境调试的命令 sudo gdb ./traffic_server -p $(pidof traffic_server)  -batch  -x  [macro_file] 参考文献 [1].ATS Debugging Fall Summ...

  • Page1.aspx:   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Page1.aspx.cs" Inherits="Application.跨页面传送.Page1" %>  

  • 在下面的例子中,我们在一个 .aspx 文件中声明了一个 TextBox 控件和一个 Label 控件。当您更改了 TextBox 中的值,并且在 TextBox 外单击时,change 子例程就会被执行。change 子例程会向 Label 控件写一条文本: