我做的.net网站SQL2005数据库,在本地测试正常,传到服务器上网页可以打开,但一连数据库就失败

“/”应用程序中的服务器错误。----------------------------------------------------------------------... “/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)

源错误:

行 29: ConnectionStringSettings setting = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"];
行 30: myCon.ConnectionString = setting.ConnectionString;
行 31: myCon.Open();
行 32:
行 33: //2 使用SqlCommand提交查询命令

源文件: d:\wwwroot\3g1008688_com\web\Default2.aspx.cs 行: 31

堆栈跟踪:

[SqlException (0x80131904): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4846887
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) +4860189
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +90
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +376
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +221
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +4861315
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31
我是新手,知道的可以加QQ:174169108 一样给分
展开
 我来答
学知旅行网
2010-08-10 · TA获得超过822个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:305万
展开全部
刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到 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 安装不同而不同。

在使用.NET开发进行时,会遇到使用连接字符串连接SQL Server 2005数据库使用机器名称和localhost都能连接,但是使用IP地址却不能连接的问题,解决的办法是在SQL Server实例上启用本地和远程连接,并且在选择协议的时候使用TCP/IP和命名管道服务即可解决。
悠然健康
2010-08-10 · TA获得超过569个赞
知道小有建树答主
回答量:445
采纳率:100%
帮助的人:153万
展开全部
确定你的空间有数据服务连接
源错误:

行 29: ConnectionStringSettings setting = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"];
行 30: myCon.ConnectionString = setting.ConnectionString;
行 31: myCon.Open();
行 32:
行 33: //2 使用SqlCommand提交查询命令

源文件: d:\wwwroot\3g1008688_com\web\Default2.aspx.cs 行: 31
这里你的文件没有上传到服务器,重新检查下数据库操作的文件有没有上传完整
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
543kcom
2010-08-13
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
先把防火墙关了试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
若狂若旺
2010-08-16
知道答主
回答量:33
采纳率:0%
帮助的人:16.8万
展开全部
配置文件写错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式