问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vs2008运行时报错与数据库连接不上

发布网友 发布时间:2022-04-13 07:23

我来回答

3个回答

懂视网 时间:2022-04-13 11:45

有园子里的朋友问到一个问题:系统上安装的是vs2008+Sql 2005 developer(没有安装Sql server 2005 Express ) 用代码直接连SQL Server服务器没有问题,但在项目中数据源改用SQL Server数据库文件时出错,提示错误如下: 与SQL Server文件(*.mdf)的连接要

有园子里的朋友问到一个问题:系统上安装的是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 Express 2005 to function properly. Please verify the installation of the component or download from the URl: http:go.microsoft.com/fwlink/?linkID=49251.”

如图:

如果是因为实例名的问题,请先查看这个

http://www.gxlcms.com/article/31647.htm

我机器上装的是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)
再连接,居然成功了!

连接过程如图:

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

热心网友 时间:2022-04-13 08:53

一可能是是你数据库连接字符串写的不对,格式是"Data Source=.;Database=你的数据库名称;uid=sa;pwd=用户密码";
二可能是你SQLserver登录权限设置的错误,如果是默认sa用户名的话,需要在登录时设置成混合验证,登录名是sa才行;

具体的你没说清楚,最好把你的数据库连接字符串贴出来,不懂得可以再问。

热心网友 时间:2022-04-13 10:11

使用 VS2008 ㉂带的 SQL Server 是 Express 版本.

如何在程式中连接 SQL Server Express
1. 使用 Windows 认证模式:
SqlConnection hCon = new SqlConnection("Server=(local)\\SQLExpress; Integrated Security=SSPI;");
// 连接到默认数据库, 如果指定连接到其他数据库, 可以附加 Initial Catalog=yourDBName 段.
...

2. 使用 SQL Server Authencation 模式:
SqlConnection hCon = new SqlConnection("Server=(local)\\SQLExpress; User ID=yourLoginID; Password=yourPassword;");
// yourLoginID 为登录 ID, 通常使用 sa 帐户登录.
// yourPassword 为登录 ID 对应的密码

------
值得注意的是, 对于 Express 版本 SQL Server, 它的实例名后面带 SQLExpress, 而且不能改, 当然也不能增加新的实例. 连接时要附加这个标识. 例如:
... Server=127.0.0.1\\SQLExpress ...
... Server=计算机名\\SQLExpress ...
... Server=(local)\\SQLExpress ...
---------
对于企业版 的 SQL Server 2005, 则无此要求.

使用 System.Data.Sql.SqlClient.SqlConnection 连接 SQL Server, 如果是本机,则最好采用 Windows 认证模式来连接.

依稀记得 SQL Server 2005 Express 版本, 默认 sa 是禁止网络登录的 (Deny login), 如果使用 sa 登录, 要先开启 sa 允许登录状态.

mxsj_lxm 的提议是个不错的选择. 将连接串复制到代码中.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 我手机摔碎屏幕,然后去维修换了个屏幕,然后手机有点不灵,玩游戏老是跳屏是怎么回事? 我的VS2008连接SQL2008代码一到 sqlcon.Open();就出错 宝骏310W有前挡风玻璃加热吗 宝骏310有一键升降玻璃吗 宝骏310风窗玻璃刮水器如何保养? 宝骏310怎样实现遥控一键升玻璃? 宝骏310w玻璃不会升降是怎么回事 宝骏310w停车后,四个玻璃自己降下来怎回事 宝骏310换一块挡风玻璃多少钱前挡风玻璃被石孑砸了一个花需要换前挡风玻璃,加工时一块得多少钱 宝骏310门玻璃多少钱 宝骏310车窗玻璃脱落怎么修理 vs2008 连接 sql server 2008数据库出问题了,请大虾帮忙解决,TKS LOL转区系统封号怎么办 LOL转区封号解决方法 lol转区封号能解封吗 lol已封账号转区详解 苹果xr深色模式怎么打开 lol转区封号能解封吗 lol已封账号转区介绍 12306帐号无法注册?输了999无任何回复? 一体机掉水里拿出来晒了一天了可不可以充电的? 12306手机怎么注册不了啊! 一体机进水了,充不了电,自动关机后,又能充电了,手机会有什么影响 和单位解除劳动合同,原因是协商一致,请问这和开除,辞退有区别吗?影响公务员政审吗?? 开除和解除劳动合同? 单位解除劳动合同和开除有区别吗 是协商一致解除劳动合同还是违法辞退 苹果11夜晚拍摄为什么会闪好几次是不是两个摄像头同时在闪光? 老哥们,iPhone se拍照有这种炫光是怎么回事 苹果13照相机眩光 iPhone 6s拍照为什么炫光这么厉害 工商银行存一万一年利息是多少 工商银行10000存一年多少利息? 怎样高情商回复信息呢? bilibili人形照相机中真人3D头像手绘都用什么材料啊,好想学 高情商女人如何回复信息? 真人照片变二次元怎么做? bilibili手绘算哪个分区 对方发了一天的信息,我太忙了没能及时回复,现在怎么高情商回复过去呢? bilibili当中怎么拍照片 脸上染头发的染发膏弄上去一年多了用化妆水可以去掉吗 跪求动漫手绘教程~ 染发膏弄到脸上如何去掉