当前位置:编程学习 > C#/ASP.NET >>

在线考试程序!!

今天从网上下了一个三层架构的考试程序,调试好久了都没有好!! 

报错

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 

 里面有三个文件连接数据库的文件,一个是web.config 、db.cs 、SQLExecuteDB.cs


数据库信息
服务器IP:  61.188.38.143 
数据库名:  sxedu 
管理帐户:  DB_sxedu 

程序下载地址:http://down.cnzz.cn/info/48176.aspx

整整调试一天了,现在搞没有搞好,现在求高手搞定!!谢谢!!


--------------------编程问答-------------------- 人呢! --------------------编程问答-------------------- 刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) "搜MSDN,上面有一片机器翻译的文章,是在让人难以明白,现在总结如下:明白了SQL Server是个网络数据库就可迎刃而解了,简单的分为下面的集中情况。 

1. 数据库引擎没有启动。 

有两种启动方式: 

(1)开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动; 

(2)可打开:开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER) ,并单击工具栏中的"启动服务"按钮把服务状态改为启动; 

使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了. 

2. 是否已经允许远程连接。 

这个部分可以简单的分为4个方面,分别是在 SQL Server上启用远程连接、启用SQL Server 浏览服务、在Windows 防火墙中为SQL Server 2005 创建例外和在Windows 防火墙中为“SQLBrowser”创建例外。下面是几个具体的操作方式,摘自MSDN,个人觉得文章的黑体部分应当特别的一起我们的注意。 


在SQLServer 实例上启用远程连接 
1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器” 
2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器” 
3.然后单击展开“数据库引擎”, 选中“远程连接”,在右边选中“本地连接和远程连接”, 
再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”,您会看到下消息: 
“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回 
4.展开“数据库引擎”, 选中“服务”,在右边单击“停止”,等到 MSSQLSERVER 服务停止, 
然后单击“启动”,重新启动MSSQLSERVER 服务。 

启用 SQLServer 浏览器服务 
1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器” 
2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器” 
3.然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“自动”, 
再单击“启动”,单击“确定”按钮返回 

在Windows 防火墙中为“SQL Server 2005”创建例外 
1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序” 
2.在“添加程序窗口”中单击“浏览” 
3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\ MSSQL.1 \MSSQL\Binn\sqlservr.exe”, 
单击“确定”返回 
注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。 MSSQL.1 是占位符,对应数据库实例ID。 
4.对每个需要打开远程访问的SQL Server 2005 实例,重复步骤 1 至 3。 

在Windows 防火墙中为“SQLBrowser”创建例外 
1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序” 
2.在“添加程序窗口”中单击“浏览” 
3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe”, 
单击“确定”返回 
注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。  --------------------编程问答-------------------- 改成这样写:server=.;uid=sa;pwd=;database=DataBaseName --------------------编程问答-------------------- 数据库的服务没有启动。 --------------------编程问答-------------------- 在C#中与SQL2005建立连接时,出现错误: 
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 

查找有关资料“从"开始菜单"调出"配置工具"中的"SQL Server 外围应用配置器".然后单击"服务和连接外围应用配置器",选择数据库实例(默认是"SQLEXPRESS",选择database Engine的"远程连接"中的"本地连接和远程连接(用TCP/IP)",这样即可打开SQL Server 2005的远程连接(默认不允许).”,却不能有效解决,后多次试验后发现原来连接字符串的服务器名称错误也会出现以上错误提示。正确的连接字符串应为以下格式: 

SqlConnection con=new SqlConnection ("Data Source=服务器名\\SQLEXPRESS;Initial Catalog=数据库名;User ID=sa;Password=密码;"); 

记住此处的"服务器名"与"SqlExpress"这间要使用转义字符"\\" 而且别忘了在服务器名后面加上 "\\SqlExpress" 

希望可以帮到你^________^


仔细检查连接字符串!!!!!!!!!!!!!! --------------------编程问答-------------------- 首先把你的sqlserver2005设置身份验证为 windows和sqlserver两种身份验证,如果还是不行,请检查你的webconfig里的连接字符窜是否写正确,你如果是把数据库配置在你的本机了,就不要用他的IP作为你的数据源,以上都无误的话,你再把错误代码贴出来看看 --------------------编程问答-------------------- 连接没有任何问题,就是登陆就有问题了,我自己把程序改了一下,改成全部使用web.config 文件里面的登陆连接了!! 我首页测试数据的时个,可以显示数据,但就是一提交登陆就会报

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 
--------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 好问题,帮顶 --------------------编程问答-------------------- 打开数据库服务器后可以看到这个数据库服务器的名称的。。

不要用".",把他换成你的服务器全名 --------------------编程问答-------------------- 连接字符串是否正确 
开始 -> 所有程序 -> MS SQL Server -> 配置工具 -> Sql server外围应用配置器 ->服务和连接的外围应用配置器 -> 打开MSSQLSERVER节点下的Database Engine节点,选择"远程连接",接下来建议选择”同时使用TCP/IP和named pipes ”,确定后,重启数据库服务.
server=localhost\\SqlExpress;uid=sa;pwd=123456;database=master为 
server=(local);uid=sa;pwd=123456;database=master 

用默认Windows身份验证模式登录SQL Server Management Studio Express,选择左边列表里面的服务器,右键查看属性,在"安全性"里面选择SQL Server和 Windows身份验证模式 

SQL Server Management Studio Express主界面,在"安全性"-"登录名"下面为自己新建一个登录名,设置为SQL Server身份验证,然后在左边选择自己 想要的权限。 

--------------------编程问答-------------------- 你们要下载去看看就知道了!! 上面这些方法我都用过了!! --------------------编程问答-------------------- 这种问题可能是连接字符串出错也会是这个问题 --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 是连接字符串的问题,前几天我也遇到这样的问题
Data Source=.\SQLEXPRESS;Initial Catalog=数据库名;User ID=用户数据库登录名;Password=密码; --------------------编程问答-------------------- 每天回帖即可获得10分可用分 --------------------编程问答-------------------- 关注 ,帮顶 --------------------编程问答-------------------- jf
--------------------编程问答-------------------- TCP/IP和named pipes 都开了的话
就是链接字符串问题
或者是防火墙阻止了
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,