问题描述
向各位大侠请教Sql2005Express的数据库创建及连接问题。已经被困扰了好几天了,急死了!!我的电脑平台是WindowsXP-ProfessionalV2002SP2英文版。安装了VisualStudioWebDeveloper2008Express_中文版(VWD),并安装了SQLServerManagementStudioExpress(SSMSE)_中文版。遇到以下问题:1)在SSMSE中创建DB时出现错误“Create对于数据库xxx失败。其他信息:Collation<服务器默认值>isnotvalid(Microsoft.SqlServer.Express.Smo".——经人指点,判定是数据库“排序规则”问题。系统默认值为“Chinese_PRC_CI_AS”,后将其改成"SQL_Latin1_General_CP1_CI_AI"后错误解除。但后来发现用"Chinese_PRC_90_CI_AI"也可以。请执教在此环境下应该用哪一个最正确。2)在SSMSE中创建的DB无法被VWD2008建立连接,错误显示为:“Anattempttoattachanauto-nameddatabaseforfileC:ProgramFilesMicrosoftSQLServerMSSQL.1MSSQLDataxxx.mdffailed.Adatabasewiththesamenameexists,orspecifiedfilecannotbeopened,oritislocatedonUNCshare”同时,在VWD数据库资源管理器中创建的数据库也无法被SSMSE附加。错误显示为“Anerroroccurredwhenattachingthedatabase(s).Clickthehyperlinkinthemessagecolumnfordetails”。进一步的信息是“无法打开物理文件...xxx.mdf。操作系统错误2:(errornotfound)”。实在是令人费解,都是在同一台电脑上建立的DB啊,只是地址不一样。但用SSMSE将DB建立在App_Data目录中同样无法被VWD连接。Faint!3)另外,我还希望建立Excel2003与SqlExpress2005之间的连接。但无论是由SSMSE创建的DB还是DVW创建的DB均无法被Excel连接(用VBA编写代码)。请诸位高手指点。非常感谢!!
解决方案
解决方案二:
参考http://www.cnblogs.com/cool8667/archive/2008/12/03/1346574.htmlhttp://www.cnblogs.com/Tonyyang/archive/2007/12/24/719591.html
解决方案三:
asp.net连接数据库(SQLServer2005Express)详细说明没用过SQLServer数据库,第一次配置费了不少劲,微软的东西有点绕,能遇到的问题都遇到了,看过此文后,数据库基本都能连接。废话不说。我的系统是xp,不能装SQLServer2005的企业版本,只能装开发版和Express版,Express是免费版,学习用它就够了。首先需要下载一个名为SQLServer2005_SSMSEE.msi,这个文件一搜索就有下载(http://download.microsoft.com/download/1/1/0/110d908f-c445-4523-b939-220c7d135f3d/SQLServer2005_SSMSEE.msi)下载安装。用VS2005菜单工具连接到数据库出现连接服务器资源管理器,右键数据连接如下图:添入服务器名和数据库名,选择验证方式,一般会出现错误;"在默认的设置下SQLServer不允许远程连接可能会导致此失败error:40无法打开到SQLServer的连接连接失败。"1.此时需要开启sql2005远程连接功能开始--MicrosoftSQLServer2005--配置工具--SQLServer外围应用配置器--远程控制----服务和连接外围应用配置器SQLEXPRESS--DatabaseEngine勾选本地连接和远程连接,同时使用TCP/IP和namepipes,确定。如下图2.登陆设置改为SQLServer身份验证开始--MicrosoftSQLServer2005--SQLServerManagementStudioExpress,选择Windows身份验证连接,进去后在左边的对象资源管理器的第一项就是你的服务器名点右键属性,选择安全选择SQLServer和windows验证模式如下图:3.设置一个SQLserver方式的用户名和密码开始--MicrosoftSQLServer2005--SQLServerManagementStudioExpress,选择Windows身份验证连接,点上面的新建立查询在右面输入sp_passwordnull,'123456','sa',点上面的执行,这样就设置了一个用户名为sa,密码为:123456的用户,但是现在还不能用用户名sa登陆如下图:4.开启sa帐号开始--MicrosoftSQLServer2005--SQLServerManagementStudioExpress,选择Windows身份验证连接,点左面的对象资源管理器--安全性--登陆名--sa右键属性,点状态登陆勾选启用如下图5.重启数据库服务器如下图6.测试连接vs2005服务器名就是你登陆数据库管理器的时候的服务器名如我的是COMPUTERSQLEXPRESS以后操作都完成后,就会出现下图,那么,恭喜,连接成功!调用数据连接两种方法1.web.config(配置文件)中<appSettings><addkey="ConnectionString"value="serverlocalhostsqlexpress;uid=sa;pwd=123456;database=News"/></appSettings>调用的时候stringstrConn=System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString();SqlConnectionConn=newSqlConnection(strConn);2.或者不用web.config直接在文件中写SqlConnectionconn=newSqlConnection("server=.\SQLEXPRESS;uid=sa;pwd=123456;database=login");如何是Express版的数据库,一定要在服务器名的后面加上\SSQLEXPRESS一个完整的例子stringuserName=Request.Form["userName"];stringuserPwd=Request.Form["userPwd"];SqlConnectioncon=newSqlConnection("server=localhost\SqlExpress;uid=sa;pwd=123456;database=login");con.Open();SqlCommandcmd=newSqlCommand("selectcount(*)fromloginwhereuserName='"+userName+"'anduserPwd='"+userPwd+"'",con);intcount=Convert.ToInt32(cmd.ExecuteScalar());if(count>0){Response.Redirect("main.aspx");}