我用的环境是vs.net 2003 iis 5.1 和sql server 2000
我建立了一个最简单的Webform ,上面只有一个控件DataGrid (id是dataone),
目的是检测我的运行环境是否 能连接数据库!!数据库访问代码是:
....
using System.Configuration ;
using System.Data .SqlClient ;
.....private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
String strconnection="server=local;database=Northwind;integrated security=true;";
SqlConnection objconnection=new SqlConnection(strconnection);
String strsql="SELECT FirstName,LastName,Country FROM Employees";
SqlCommand objcommand=new SqlCommand(strsql,objconnection);
objconnection.Open();
dataone.DataSource=objcommand.ExecuteReader();
dataone.DataBind();
objconnection.Close();
}
运行后出现的错误提示是: SQL Server 不存在或访问被拒绝。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: SQL Server 不存在或访问被拒绝。源错误:
行 35: String strsql="SELECT FirstName,LastName,Country FROM Employees";
行 36: SqlCommand objcommand=new SqlCommand(strsql,objconnection);
行 37: objconnection.Open(); //此行是红色的
行 38: dataone.DataSource=objcommand.ExecuteReader();
行 39: dataone.DataBind();
源文件: c:\inetpub\wwwroot\webapplication1\webform1.aspx.cs 行: 37
堆栈跟踪:
[SqlException: SQL Server 不存在或访问被拒绝。]
System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction)
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
System.Data.SqlClient.SqlConnection.Open()
WebApplication1.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplication1\webform1.aspx.cs:37
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
我的sql server 2000的服务器是开的,是默认的本地数据库服务器,iis也是运行状态,
访问数据库的代码是我从书上找的,没什么改动。为什么网页服务器连不上数据库呢!
我建立了一个最简单的Webform ,上面只有一个控件DataGrid (id是dataone),
目的是检测我的运行环境是否 能连接数据库!!数据库访问代码是:
....
using System.Configuration ;
using System.Data .SqlClient ;
.....private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
String strconnection="server=local;database=Northwind;integrated security=true;";
SqlConnection objconnection=new SqlConnection(strconnection);
String strsql="SELECT FirstName,LastName,Country FROM Employees";
SqlCommand objcommand=new SqlCommand(strsql,objconnection);
objconnection.Open();
dataone.DataSource=objcommand.ExecuteReader();
dataone.DataBind();
objconnection.Close();
}
运行后出现的错误提示是: SQL Server 不存在或访问被拒绝。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: SQL Server 不存在或访问被拒绝。源错误:
行 35: String strsql="SELECT FirstName,LastName,Country FROM Employees";
行 36: SqlCommand objcommand=new SqlCommand(strsql,objconnection);
行 37: objconnection.Open(); //此行是红色的
行 38: dataone.DataSource=objcommand.ExecuteReader();
行 39: dataone.DataBind();
源文件: c:\inetpub\wwwroot\webapplication1\webform1.aspx.cs 行: 37
堆栈跟踪:
[SqlException: SQL Server 不存在或访问被拒绝。]
System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction)
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
System.Data.SqlClient.SqlConnection.Open()
WebApplication1.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplication1\webform1.aspx.cs:37
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
我的sql server 2000的服务器是开的,是默认的本地数据库服务器,iis也是运行状态,
访问数据库的代码是我从书上找的,没什么改动。为什么网页服务器连不上数据库呢!
解决方案 »
- 关于数据库中的图片信息,添加ALT属性的问题
- 怎样用SqlHelper获取Sqlserver的return值?
- 第一次用VS2005,碰到了几个想不通的问题,请教用过VS2005做过项目的人。
- 请 ice226(ice226) 进来拿分,感谢帮助!
- IE WebControl TreeView 控件中右键菜单中数据的提交问题?
- 求救
- 请问ASP.NET怎样才能在客户端进行创建,删除,修改目录和文件?
- asp.net中关于web.config配置数据库的问题
- 求助!gps定位功能!
- ASP.NET + C# 如何制作上传图片的功能呢?
- 能否把在浏览器生成的表格以及文字内容转化为word格式显示出来
- 嵌套框架打印的问题急啊!!!!!!!!!!!!!!
密码如果有且是sa.
------>
String strconnection="server=localhost;database=Northwind;uid=sa;psw='你的密码';";另外设置断点到 .Open出,看看State 就知道了。
sqlserver 要设置成 sqlserver 和window验证(右击服务器->属性->安全性->身份验证)
如果设置成windows身份验证 则连接字符串不能这么写
我把这个例子放到 另一台刚装好vs.net的机器上,都是默认设置,还是出现一样的问题,要哭了
server=(local);database=Northwind;integrated security=true;UID=sa;PWD=sa
中的服务器名称写成你机器名,再试一下.
我想看看state,我试过在open的地方设置一个断点,但是弹出的窗口要我新建一个,还要输入函数 才能走,而且走到第一行(String strconnection="server=local;database=Northwind;integrated security=true;";)就走不动了,还是弹出open那出错,
跟vc6.0好多区别呀,有经验的说一下,恳求详细一些,拜托了
谢谢大家了!!!!!!!!!!!!!!!!!!!
String strconnection="server=local;database=Northwind;integrated security=true;";String strconnection="server=localhost;database=Northwind;uid=sa;psw='密码';";系统默认asp.net用户是受限制用户,使用不能使用集成验证
你没有指定用户是肯定不能连接的。