SQL Server 装载 msxmlsql.dll 失败的解决办法
2008-06-05 19:01
232 查看
错误信息:装载
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
Files\Microsoft SQL Server\下查找,找到了若干个以msxmlsql为名的文件:
后
面发现了下面篇英文文章才真正找到了原因,原因是安装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 Server\90\Shared
However, if
INSTALLSQLSHAREDDIR is provided on the command line or set during GUI setup
MSXMLSQL will be installed to:
%INSTALLSQLSHAREDDIR%\90\Shared
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%\90\Shared to %Program Files%\Microsoft SQL Server\90\Shared.
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)
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
Files\Microsoft SQL Server\下查找,找到了若干个以msxmlsql为名的文件:
后
面发现了下面篇英文文章才真正找到了原因,原因是安装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 Server\90\Shared
However, if
INSTALLSQLSHAREDDIR is provided on the command line or set during GUI setup
MSXMLSQL will be installed to:
%INSTALLSQLSHAREDDIR%\90\Shared
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%\90\Shared to %Program Files%\Microsoft SQL Server\90\Shared.
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)
相关文章推荐
- 关于sql server之sa登录失败的解决办法
- sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法 - [SQL]
- 遇到的问题------SQL Server 附加数据库失败的解决办法(3415错误)
- PL/SQL Developer登入时候报ORA-12638: 身份证明检索失败的解决办法
- SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”【0x800706be】的解决办法
- SQL SERVER 2000用户sa 登录失败的解决办法
- 安装SQL 2005/2008“性能计数器注册表配置单元一致性”失败的解决办法
- Microsoft SQL Server 2005 安装失败处理 - Integration Services安装失败的解决办法
- 安装SQL 2005/2008“性能计数器注册表配置单元一致性”失败的解决办法
- SQL Server 2005 Express安装SP2帐户验证失败解决办法
- 连接AnalysisServices时失败并且提示“请确保 "SQL Browser" 服务正在运行”的解决办法
- sql server 2000,Log.LDF文件丢失,附加数据库失败的解决办法
- 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法
- sql server 2005附加失败解决办法
- sql server 2000,Log.LDF文件丢失,附加数据库失败的解决办法
- sql server 2000,Log.LDF文件丢失,附加数据库失败的解决办法[转]
- Win 2008 R2安装SQL Server 2008“性能计数器注册表配置单元一致性”失败的解决办法
- sql server 2008安装失败的解决办法 彻底卸载老版本!
- SQL错误提示档案(2):SQL Server 2000安装错误“安装配置服务器失败”解决方法