日期:2014-05-18  浏览次数:20407 次

怎么在vs2010自带的express版本的sqlserver2008打开正式版sqlserver2008的数据库?
根据传智播客的视频教材,要在数据集(dataset)里生成相应的表,则需要从vs2010自带的sqlserver把数据库拖到dataset里,视频里也一直是用vs自带的express版本sqlserver,所以没问题。
但是实际开发的时候用的是正式版的sqlserver2008(我机器上express与正式版的都安装了),数据库文件附加正式版sqlserver2008后,由于低版本的sqlserver无法打开高版本的数据库,于是无法在vs自带的低版本sqlserver里连接上高版本的数据库文件,从而也就无法创建相应的dataset……
从连接的高级属性(也就是连接字符串)看,vs的express版是通过AttachDbFilename来连接的,连接到正式版的时候用的是server以及database字段(我只会这种方法orz),连接方式根本就不一样啊,求破- -

------解决方案--------------------
如果是用的是低版本的实例(如SQLEXPRESS),则将实例名改成高版本的实例名(如MSSQLSERVER)
同时将配置文件中的连接字符串改为高版本的连接字符串即可。(即将 AttachDbFilename 形式的连接字符串改为 对应的server=...,database=...的类型)
当然数据库附加在高版本的数据库后才能连接