发布asp.net网站后!浏览到有数据库中数据页面就会出现下面错误!
页面要是没连接数据库就不会出现错误!求高手解决!“/web”应用程序中的服务器错误。
--------------------------------------------------------------------------------无法打开登录所请求的数据库 "test"。登录失败。
用户 'PC2002010103TWZ\ASPNET' 登录失败。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 "test"。登录失败。
用户 'PC2002010103TWZ\ASPNET' 登录失败。源错误: 
行 23:                 else if (connection.State == System.Data.ConnectionState.Closed)
行 24:                 {
行 25:                     connection.Open();
行 26:                 }
行 27:                 else if (connection.State == System.Data.ConnectionState.Broken)
 源文件: G:\毕业设计修改\DAL\DBHelper.cs    行: 25 

解决方案 »

  1.   

    1.打开数据库企业管理器,然后选择数据库---安全性---找到刚才报错的哪个''XXX\ASPNET'' --右键"属性"; 
    2.选择"用户映射"选项---在里面将我们要访问的数据库选中 
    3.先别点确定---再选择我们刚才选择的哪个数据库,在下面的"数据库角色成员身份"里要选择"db_owner"权限
      

  2.   

    数据库附加在SQL2005上了
    还有项目调试是成功的!
      

  3.   

    我数据库连接是写在DAL层中DBHelper.cs
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;namespace Asp.DAL
    {
        public static class DBHelper
        {        private static SqlConnection connection;
            public static SqlConnection Connection
            {
                get
                {
                    string connectionString = "Data Source=PC2002010103TWZ\\SQLEXPRESS;Initial Catalog=test;Integrated Security=True";
                    if (connection == null)
                    {
                        connection = new SqlConnection(connectionString);
                        connection.Open();
                    }
                    else if (connection.State == System.Data.ConnectionState.Closed)
                    {
                        connection.Open();
                    }
                    else if (connection.State == System.Data.ConnectionState.Broken)
                    {
                        connection.Close();
                        connection.Open();
                    }
                    return connection;
                }
            }        public static int ExecuteCommand(string safeSql)
            {
                SqlCommand cmd = new SqlCommand(safeSql, Connection);
                int result = cmd.ExecuteNonQuery();
                return result;
            }        public static int ExecuteCommand(string sql, params SqlParameter[] values)
            {
                SqlCommand cmd = new SqlCommand(sql, Connection);
                cmd.Parameters.AddRange(values);
                return cmd.ExecuteNonQuery();
            }        public static int GetScalar(string safeSql)
            {
                SqlCommand cmd = new SqlCommand(safeSql, Connection);
                int result = Convert.ToInt32(cmd.ExecuteScalar());
                return result;
            }        public static int GetScalar(params SqlParameter[] values)
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = Connection;
                cmd.CommandText = "Pro_InsertOrder";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddRange(values);
                int result = Convert.ToInt32(cmd.ExecuteScalar());
                return result;
            }        public static int GetScalar(string sql, params SqlParameter[] values)
            {
                SqlCommand cmd = new SqlCommand(sql, Connection);
                cmd.Parameters.AddRange(values);
                int result = Convert.ToInt32(cmd.ExecuteScalar());
                return result;
            }        public static SqlDataReader GetReader(string safeSql)
            {
                SqlCommand cmd = new SqlCommand(safeSql, Connection);
                SqlDataReader reader = cmd.ExecuteReader();
                return reader;
            }        public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
            {
                SqlCommand cmd = new SqlCommand(sql, Connection);
                cmd.Parameters.AddRange(values);
                SqlDataReader reader = cmd.ExecuteReader();
                return reader;
            }        public static DataTable GetDataSet(string safeSql)
            {
                DataSet ds = new DataSet();
                SqlCommand cmd = new SqlCommand(safeSql, Connection);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(ds);
                return ds.Tables[0];
            }        public static DataTable GetDataSet(string sql, params SqlParameter[] values)
            {
                DataSet ds = new DataSet();
                SqlCommand cmd = new SqlCommand(sql, Connection);
                cmd.Parameters.AddRange(values);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(ds);
                return ds.Tables[0];
            }
        }
    }
      

  4.   

    string connectionString = "Data Source=PC2002010103TWZ\\SQLEXPRESS;Initial Catalog=test;Integrated Security=True";
     换成server=PC2002010103TWZ\\SQLEXPRESS;uid=sa;pwd=123456;database=数据库名