Visual Studio2008与SQL Server2005部署实战小结(这俩货累死我了)转

“这世界上最简单的数据库当数MS SQL;这世界上最难配置的数据库,当数MS SQL……”
刚刚终于装好了SQL Server 2005并成功与Visual Studio 2008结合……撒花庆贺一下。

从前两天就开始搞这两个东西……首先是SQL Server2005这个东西,Win7下装起来还是有些麻烦的。
装上之后各种没有服务器,让我极其苦恼。
然后今天上午装了VS2008 Express,结果呢,各种头文件找不到,以前VC6编译通过的程序在那里也通不过了。
最悲剧的就是缺少iostream.h,我列一个大去啊,没有iostream.h我用什么输入输出啊。
结果找来找去,发现了include文件夹里面有一个iostream文件,不是.h文件,没有扩展名。
好吧,#include<iostream>就好了。结果编译出来一百多个Error,不认识各种cin啊cout啊endl啊还有<<和>>这两个运算符。
我说,完了吧这。。。
后来呢,不知道从哪里看到的,将cin改为std::cin就好了……啊!!是VS2008Express自带的MSDN文档里面的。全英文我也真能读下来……顺带把MFC和.NET知识都学了学。
PS,MSDN是有益无害啊,多看多看。

其实前几天发现了那里面有数据库功能,也知道SQL就是要和VS结合起来才能发挥作用的。但是一直没好好用,而且这两个东西也没有真正的粘起来过。
于是装SQLServer2005吧,我是在XP下装过,结果蓝屏了N次,Win7下装上根本就是悲剧,可以装上但是没法找到服务器名。
各种研究啊……
……
…………
………………

→不用这么多省略号难以表达我研究花费的精力和时间啊!!

后来果断不装了。到今天下午才又开始装。其实我是蛋疼了,VS2008专业版装好了之后就想玩数据库了。
嗯,先说为什么不装VS2008Express而改了专业版。
就是上面的那个问题,各种编译出错,估计是兼容性问题。
中间折腾了十几次,还装回了几次VC6(还包括完全版和精简版两个版本。精简版不支持MFC结果我悲剧了)。最后决定,VC6和VS要共存,以防万一。
但是VS2008Express无论如何也调不出来,这让我很恼火。我试着从那里面新建了一个工程,发现MFC选项居然不可用!
然后到它的MSDN里面一顿狂找,读了若干GRE文章之后,仍然不得其解。
后来,去了微软的网站,豁然开朗……
原来Express版本是给初学者学习的版本有木有!!!什么功能都被阉割了有木有!!!
Express根本就不支持MFC开发啊!!!


我顿时对这张光盘失去了信心,果断删除!
下载一个VS2008的专业版……各种破解然后折腾上去了,这个专业版的安装倒还可以,一切都比较顺利,我看到里面还有SQL的安装,也是全自动什么都不用设置。
然后装好了……我测试几个程序,自从改了std::cin什么的之后就差不多了,把iostream.h改为iostream 也还凑合。只是以后写代码麻烦了。MFC也可以用了,觉得挺高兴的。
但是我对VS2008的环境一点都不熟悉,所以在环境界面上停留了好久好久……
好吧,我是个菜鸟。
把调试那一栏整成我喜欢的样子之后,对Watch监视窗口还有类窗口各种排版。
然后,就开始测试那个调试功能了,没有调试的VC就不叫VC了,结果就是因为拿错了测试程序,让自己在一个初学者易犯的错误上面纠结了一个小时:switch的断点设置问题。我还以为是断点出问题了呢百般查找问题。不过,顺便也明白了很多目录的作用,以及debug模式和release模式的不同……虽然还是一知半解。

后来,觉得iostream不够给力,就试了试把VC6里面的iostream.h复制进去,结果编译出错,提示找不到另外一个.h文件。
我于是就明白了……这个VS2008的VC++删去了很多VC6中的头文件……可能是精简需要,也可能是兼容性问题吧。

然后我就进行了大胆的尝试……我把VC6中的那个include文件夹覆盖到了VS中VC的那个include文件夹,重名的一律不覆盖。

然后编译,继续出错……我出汗了。
不过仔细研究研究那个提示信息,看到是缺少lib文件(库文件),于是又把VC6中的lib文件夹覆盖到同名文件夹中,也是重名的一律不覆盖。
编译……
连接……
通过!!
于是我小欢呼了一下。
以后不用为iostream这个问题发愁了。
于是就开始看那个SQL了……好恶心。你看,SQL←这三个字是不是要多蠢有多蠢……
VS2008自带的SQL好像用起来不是很方便,所以我想再试试能不能在Win7上装SQL Server 2005.
结果这次安装还是比较顺利的,出现了实例名选项页,以及用户设置选项页。
在安装的时候有一个小插曲:在选择实例名的时候,发现机器里已经安装了一个实例了,名字叫SQLExpress。不过,我想实例之间是独立的,也就没有管它,估计是VS2008自带的那个,无视掉继续按照默认实例安装。
但是,装好后还是出问题:第一个问题就是,没有装上任何的客户端。提示是已经装过了SQL的高版本(Express),不能再装这个版本的客户端了。
囧!
好吧~我在百般纠结了之后,想方设法的把VS中的SQL卸载掉同时还要保证VS中的VC部分毫发无损……
想象一下提心吊胆的在一大堆程序里面一个一个挑选程序卸载,每次挑选还要百般分析:SQL server和SQL Server Compact或者是 SQL Server Tools或者是 SQL Server VSS Writer有什么不同啊,卸载了一个会不会影响到另一个啊什么的。
→此处浪费一个多小时
然后继续装SQL。装好了……
打开SQL Management Studio,发现服务器名一栏赫然为空!我顿时再次Orz了。
无论如何我都连不上啊……
百般查资料,结果别人也有遇到相似情况的,说是没有装服务器端只装了客户端了(奇怪,我明明两个端都选择了也都安装了啊)。不过,在XP下面的环境,SQL工作是很正常的。
重装了一遍SQL2005也没法解决,仍然没有实例名,即使sqlservr.exe已经启动(SQL服务)。
于是回到↑ 最顶部的问题了……没有服务器名= =!
难道,又要一切重来一次?我已然在这上面耗了好几天了……
于是根据别人的推荐,在微软的网站上下载了一个什么SQLServer2005_SSMSEE的补丁,结果千辛万苦下载下来发现不能安装……
因为我的SQL版本高低不齐- -!
于是我再次跪了。

继续苦着老脸查资料(同学们说我有一张饱经沧桑的脸,就是这么锻炼出来的么= =),发现了另外一个名叫SQLEXPR_CHS的补丁。听说这个补丁可以搞上那个服务器端。那篇文章的作者也指出了如果外围配置里面有SQLExpress的话,就说明成功了。下载速度比@付老利化妆还慢……我简直都绝望了,大哥啊我要睡觉啊能不能快那么点?

诶,等等。
SQL Express?
↑ 你们是不是在我刚刚写过的东西里面看到过这个词?
↑我想了好久好久……想起来,这个Express是VS2008自带的啊。是不是因为我把VS2008的SQL卸载了的问题?
反正,现在我的脑子已然不清楚了,估计就是这个问题导致的服务名吧。
好吧,我抱着最后一次的心态(其实是最后两次,因为那个SQLEXPR_CHS还正在下载,不行了就换它)去试试修复一下VS2008专业版。
啊,结果VS安装的时候令人高兴的出现了SQL Server 的安装。
安完之后,我大概就知道在哪里找了:打开SQL Management Studio,服务器一栏仍然为空,略有忐忑的点击下拉列表,选择<浏览更多>,双击数据库引擎,里面就出现了两个引擎:一个是GRPC,另一个是GRPC/SQLEXPRESS。我选择后者,点击连接。
接下来的两秒钟度日如年……果断连接成功!!!
太高兴了,这样基本就解决了。
接下来,是如何在VS里面连接数据库了。里面的服务器名,一点击刷新就会卡死上个几分钟,然后什么新内容也没有。于是果断将上面那个GRPC/SQLEXPRESS服务器名复制过去,连接。发现连接很成功,可以访问系统表等数据库项目。

至此,基本圆满。
后面的一些收尾工作,主要就是删去没用的文件,以及腾出空间。

追加小内容:
1、如何在win7中取消休眠功能?
这个问题是因为我装SQL的时候自己硬盘不够用了- -!
C盘剩下了1.8G有些力不从心,于是发现hiberfil.sys占了我1.5G空间,打算把休眠功能暂时关闭,腾出些临时空间。
打开cmd(管理员权限),输入 powercfg /?查一下命令参数,找到这个命令→powercfg -h off
这个就是关闭休眠的命令。系统自动删除hiberfil.sys文件。有没有像是芝麻开门呢?忘记了芝麻关门了吧~?
没事我已然无师自通了……直接写powercfg -h on就好了。但是好像需要重启吧……不,不需,刚刚我又使用了一次这个命令,休眠就启用了。
注意的问题就是,cmd必须是管理员。

2、switch里面设置断点的时候要额外注意。因为有些case是不判断直接过的,大家也想必都知道switch找入口的机理。顺便也提醒写switch语句的时候不要忘记了break语句呀~

3、没有好电脑,真的不要装VS2008,要是只学习学习C语言或者算法,不搞可视化什么的,还是拿着VC6玩吧……功能虽然寒碜点,可是要用的都有了,速度还很快,多爽。不过,VS写报告的时候复制代码是有格式的,似乎里面也内嵌了MSOffice2007,和我的2007接轨了。我有空再试。所以,那样是比较爽的。小吐槽一个:VS和Eclipse好相似了……不论是开发界面还是设置界面还是外接插件……难道是编译软件先于程序设计语言而趋于大同?

posted @ 2012-04-12 15:37  john大叔  阅读(2732)  评论(1编辑  收藏  举报