Sql2005Express的数据库创建及连接问题

liuhran 2008-12-17 12:15:56
向各位大侠请教Sql2005Express的数据库创建及连接问题。已经被困扰了好几天了,急死了!!

我的电脑平台是WindowsXP-Professional V2002 SP2 英文版。安装了Visual Studio Web Developer 2008 Express_中文版(VWD),并安装了SQL Server Management Studio Express(SSMSE)_中文版。

遇到以下问题:
1)在SSMSE中创建DB时出现错误“Create对于数据库xxx失败。其他信息:Collation <服务器默认值>is not valid (Microsoft.SqlServer.Express.Smo".
——经人指点,判定是数据库“排序规则”问题。系统默认值为“Chinese_PRC_CI_AS”,后将其改成"SQL_Latin1_General_CP1_CI_AI"后错误解除。但后来发现用"Chinese_PRC_90_CI_AI"也可以。请执教在此环境下应该用哪一个最正确。

2)在SSMSE中创建的DB无法被VWD2008建立连接,错误显示为:“An attempt to attach an auto-named database for file C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\xxx.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share”
同时,在VWD数据库资源管理器中创建的数据库也无法被SSMSE附加。错误显示为“An error occurred when attaching the database(s). Click the hyperlink in the message column for details”。进一步的信息是“无法打开物理文件...xxx.mdf。操作系统错误2:(error not found)”。
实在是令人费解,都是在同一台电脑上建立的DB啊,只是地址不一样。但用SSMSE将DB建立在App_Data目录中同样无法被VWD连接。Faint!

3)另外,我还希望建立Excel2003与SqlExpress2005之间的连接。但无论是由SSMSE创建的DB还是DVW创建的DB均无法被Excel连接(用VBA编写代码)。

请诸位高手指点。非常感谢!!
...全文
620 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengxj85 2008-12-17
  • 打赏
  • 举报
回复
asp.net连接数据库(SQL Server 2005 Express)详细说明
没用过SQL Server 数据库,第一次配置费了不少劲,微软的东西有点绕,能遇到的问题都遇到了,看过此文后,数据库基本都能连接。废话不说。我的系统是xp,不能装SQL Server 2005的企业版本,只能装开发版和Express版,Express是免费版,学习用它就够了。首先需要下载一个名为SQLServer2005_SSMSEE.msi,这个文件一搜索就有下载(http://download.microsoft.com/download/1/1/0/110d908f-c445-4523-b939-220c7d135f3d/SQLServer2005_SSMSEE.msi)下载安装。用VS2005菜单 工具 连接到数据库 出现连接服务器资源管理器,右键 数据连接 如下图:

添入服务器名和数据库名,选择验证方式,一般会出现错误;
"在默认的设置下SQL Server不允许远程连接可能会导致此失败 error:40无法打开到SQL Server的连接连接失败。"
1.此时需要开启sql2005远程连接功能
开始 -- Microsoft SQL Server 2005 -- 配置工具-- SQL Server 外围应用配置器 -- 远程控制 ---- 服务和连接外围应用配置器 SQLEXPRESS -- Database Engine
勾选 本地连接和远程连接,同时使用TCP/IP和name pipes ,确定 。 如下图


2.登陆设置改为SQL Server身份验证
开始 -- Microsoft SQL Server 2005 -- SQL Server Management Studio Express,选择Windows 身份验证 连接 ,进去后在左边的 对象资源管理器 的第一项 就是你的服务器名 点右键 属性,选择 安全 选择SQL Server和windows验证模式 如下图:

3.设置一个SQL server方式的用户名和密码
开始 -- Microsoft SQL Server 2005 -- SQL Server Management Studio Express,选择Windows 身份验证连接,点上面的新建立查询在右面输入 sp_password null,'123456','sa' ,点上面的执行,这样就设置了一个用户名为sa,密码为:123456的用户,但是现在还不能用用户名sa登陆如下图:
4.开启sa帐号
开始 -- Microsoft SQL Server 2005 -- SQL Server Management Studio Express ,选择Windows 身份验证连接,点左面的对象资源管理器--安全性 --登陆名 -- sa 右键属性,点状态 登陆 勾选启用 如下图

5.重启数据库服务器
如下图

6.测试连接 vs2005

服务器名就是你登陆数据库管理器的时候的服务器名 如 我的是 COMPUTER\SQLEXPRESS

以后操作都完成后,就会出现下图,那么,恭喜,连接成功!

调用数据连接两种方法
1.web.config (配置文件) 中
<appSettings>
<add key="ConnectionString" value="serverlocalhost\sqlexpress;uid=sa;pwd=123456;database=News"/>
</appSettings>
调用的时候
string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection Conn = new SqlConnection(strConn);
2.或者不用web.config直接在文件中写
SqlConnection conn = new SqlConnection("server=.\\SQLEXPRESS;uid=sa;pwd=123456;database=login");
如何是Express版的数据库,一定要在服务器名的后面加上 \\SSQLEXPRESS
一个完整的例子
string userName = Request.Form["userName"];
string userPwd = Request.Form["userPwd"];
SqlConnection con = new SqlConnection("server=localhost\\SqlExpress;uid=sa;pwd=123456;database=login");
con.Open();
SqlCommand cmd=new SqlCommand("select count(*) from login where userName='"+userName+"' and userPwd='"+userPwd+"'",con);
int count=Convert.ToInt32(cmd.ExecuteScalar());
if(count>0)
{
Response.Redirect("main.aspx");
}
wuyq11 2008-12-17
  • 打赏
  • 举报
回复
参考
http://www.cnblogs.com/cool8667/archive/2008/12/03/1346574.html
http://www.cnblogs.com/Tonyyang/archive/2007/12/24/719591.html

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧