设为首页 收藏本站
查看: 913|回复: 0

[经验分享] VS2008连接SQL Server数据库文件出错的解决方案(downmoon)

[复制链接]

尚未签到

发表于 2016-11-6 08:21:21 | 显示全部楼层 |阅读模式
  
有朋友问到一个问题:系统上安装的是vs2008+Sql 2005 developer(没有安装Sql server 2005 Express )
用代码直接连SQL Server服务器没有问题,但在项目中数据源改用SQL Server数据库文件时出错,提示错误如下:
“与SQL Server文件(*.mdf)的连接要求安装SQL Server2005才能正常工作,请确认是否安装了该组件,……”
英文版为“Connections to SQL Server Files (*.mdf) require SQL Server Express2005 to function properly. Please verify the installation of thecomponent or download from the URl:http:go.microsoft.com/fwlink/?linkID=49251.”


如图:

http://3ctoxa.blu.livefilestore.com/y1pBNuyeEfSIT7pGbyWLjGhpbCNOcm8McXGi98DfpBv_XpLc5JgFSX08Iy2xbbQwldL3q-hHAOBE1nC2-EzF5kd5Q/mdf000.png

如果是因为实例名的问题,请先查看这个
http://www.cnblogs.com/downmoon/archive/2007/12/29/1019264.html

我机器上装的是Vs2008 Team suite Sp1+sql server 2008 enterprise,尝试配置连接SQL Server数据库文件时出错同上图。
奇怪,难道数据库连接方式必须安装SQL server 2005 Express??
查看msdn等,没有看到有此限制,
http://www.microsoft.com/china/sql/prodinfo/features/compare-features.mspx
http://technet.microsoft.com/zh-cn/library/ms143761%28SQL.90%29.aspx
也看到有些文章
http://social.msdn.microsoft.com/Forums/en-US/sqlsetupandupgrade/thread/6503fe05-4d05-49e7-8c2a-b9778ab7e9b8

最后抱着试一试的想法,看看是否是因为数据库已附加到SQL server ,
尝试将示例文件,AdventureWorksLT2008_Log.mdf脱机
(注示例文件官方下载http://www.codeplex.com/Wiki/View.aspx?ProjectName=SqlServerSamples)
再连接,居然成功了!

连接过程如图:


http://3ctoxa.blu.livefilestore.com/y1pBNuyeEfSIT6Kcj04mwKHmdmW5C4hYpKaUDguag6Udh_E7osZwVczNS-YaSXLjcu78TxI6N38DrSSIfdMYjaxLw/Vs2008_SQLServerFile01.png

http://3ctoxa.blu.livefilestore.com/y1pCWzN60Op_ItQuEYBZkTBJ49G5_aoha5cOdyIkzOdDGIrhEOUEJMmBTZ_PCdL1WLiM3SBK6x2LcGw4IgiogXt4g/Vs2008_SQLServerFile02.png

http://3ctoxa.blu.livefilestore.com/y1pq6_ytaHWaZjYTZNX1oZ6yEn4JLFWo9N--Ae5kszU4HnECqEC48twRD3xGiawA4KDaMoXtXk2IWc0Y2Ftw6K5ig/Vs2008_SQLServerFile04.png

http://3ctoxa.blu.livefilestore.com/y1pu4cu__p0eXDpuEnwiSGH7CVYmvBs7FOJ3nuKw53eyRNZBeYaSPPupfScPmwI5yK5gOptKBjYSc4WAE12RfdiLw/Vs2008_SQLServerFile05.png

http://3ctoxa.blu.livefilestore.com/y1pfHk59XOSqud9L_RLkR6gn8WQfa1RnVlh9RHXDCU0b8q9lmMNmugBkcKHWPNXG2NoWEKgsgmoD3kVterzRWR7Ig/Vs2008_SQLServerFile10.png

http://3ctoxa.blu.livefilestore.com/y1pSoxqdOudvyQbmH_8Kwx0aRIFsNg1ydbIfcNmr-E4a1J5Ms2jpJiiimIthg4rAiltx3P0IU2mQLpRcXpEx4DdCA/Vs2008_SQLServerFile11.png

http://3ctoxa.blu.livefilestore.com/y1pSoxqdOudvySJxEDDbqiOgh5hntPF5B2ttRN2KK8dvCn7kA6TmN_D4ytzrNGRNnh53-KwkJO41yyXSrXlx0JDnA/Vs2008_SQLServerFile12.png

http://3ctoxa.blu.livefilestore.com/y1pKbE-zKniWCvEIzlCuiyEvkZtfhc4Pq6vhscpth0yBMw2jUaAl2Hyl0-lvJDlniklwPm9mOYBHl6S8AN3LS9N1A/Vs2008_SQLServerFile15.png
  需要注意的是:
脱机后,改用mdf文件直接连接,原来的逻辑文件AdVentureworksLT08.mdf对应的log文件自动失去关联,而产生了一个新的log文件,你可以关注一下数据库具体的位置,是一个mdf文件和两个log文件。
AdventureWorksLT2008_Data.mdf
AdventureWorksLT2008_Log.ldf
AdventureWorksLT2008_Data_log.ldf(这个文件是新增的,改用mdf文件添加后,原来的log文件不再起作用,感觉是换了新的连接方式和新的存储机制。)

邀月总结:
这种连接方式可能还是传统的连接方式来得可靠,可能涉及全文检索,性能优化等诸多问题。以后再慢慢研究

邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-296355-1-1.html 上篇帖子: 在连接SQL Server 2005出现"error: 40 "错误的解决办 下篇帖子: 在Sql Server数据库中使用datetime的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表