asp.net网站无法连接到数据库

来源:百度知道 编辑:UC知道 时间:2024/06/10 12:13:40
用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。
用asp.net做的网站,网站、vs2005和iis在本机win2000上,sqlserver2000在另一台win2000server上,连接字符串就不用说了,数据库使用的是windows验证方式,在本机vs2005中运行的时候,一切正常,但是如果在iis中运行,只要是涉及到数据库的部分,就一定会出错,就是上面的错误信息,错误所在位置就是sqlconnention对象的opener()方法,connection.open(),好几个网站都是这样。
这几台电脑之间的连接没有任何问题,客户端使用查询分析器也没有问题,在vs2005中运行更是没有任何问题,就是在iis中不行,我感觉应该是数据库用户和asp.net权限上的问题,但不知道怎么解决,请高手指点
如果iis和server2000数据库都在一台机器上的话,只要把aspnet用户添加到server2000中并设置访问数据库的权限就可以解决,但是如果iis和数据库分开,数据库所在的机器根本就没有aspnet这个用户,不知道应该如何添加。

有数据库的机子,asp.net服务没有开吧,把服务开了,再在IIS中设置一下就可以了

1、导入命名空间
using System.Data.SqlClient; //连接SQLServer 数据库专用

2、创建连接
SqlConnection lo_conn = New SqlConnection("Server=服务器名字或IP;Database=数据库名字;uid=用户名;pwd=密码");

3、打开连接,第2步并没有真正连接数据库
lo_conn.Open(); //真正与数据库连接

4、向数据库发送SQL命令要使用SqlCommand:
SqlCommand lo_cmd = new SqlCommand(); //创建命令对象
lo_cmd.CommandText = "这里是SQL语句"; //写SQL语句
lo_cmd.Connection = lo_con; //指定连接对象,即上面创建的

5、处理SQL命令或返回结果集
lo_cmd.ExecuteNonQuery(); //这个仅仅执行SQL命令,不返回结果集,实用于建表、批量更新等不需要返回结果的操作。
SqlDataReader lo_reader = lo_cmd.ExecuteReader();//返回结果集

6、以数据集的方式反回结果集
SqlDataAdapter dbAdapter = new SqlDataAdapter(lo_cmd); //注意与上面的区分开
DataSet ds = new DataSet(); //创建数据集对象
dbAdapter.Fill(ds); //用返回的结果集填充数据集,这个数据集可以被能操作数据的控件DataBind

7、关闭连接
lo_conn.Close();

应该是IIS用户权限的问题,你要在IIS里添加ASPNET这个用户,这样IIS才能正常的运行asp.net的程序,如果还是不行的话,