连接 SQL Server 2008 报错“未能加载文件或程序集”?嗯,这种情况其实还挺常见的,尤其是在用 2012 的开发环境时。你只要装上几个关键组件就能搞定:SharedManagementObjects.msi、SQLSysClrTypes.msi、还有 sqlncli.msi(注意要装上 32 位和 64 位两个版本哦)。这些都是 SQL Server 的支持组件,缺了它们,连接数据库时就会各种报错。
你可以理解为这些东西是连接桥,像是 SQL Server 的“插件”。sqlncli
是 SQL 原生客户端驱动,用于和数据库打交道;SQLSysClrTypes
主要支持一些 CLR 类型,比如空间数据;SharedManagementObjects
则是让你能在代码里顺利调用 SQL 管理库的关键。嗯,装完基本就能用了。
如果你是搞 PHP、Java 或者其他语言的数据库连接开发,也要注意这些组件,有些环境下没这些组件就会报错,比如 sqlncli.msi
缺失那种。你可以参考下面这些文章,蛮实用的:
- SQLSysClrTypes 和 SharedManagementObjects 加载问题方案
- SQL2008 连接问题方案
- JAVA 连接 SQL2008 的数据库访问方法
- 修复 php 连接 mssql 时缺失的 sqlncli.msi 组件问题
如果你发现怎么都连不上 SQL2008,不妨先确认这些组件是不是装齐全了。有时候就是少了一个小东西,搞得你半天找不到原因。顺手装上,还挺省事。