我的数据库文件是用VisualStudio2005里面的SQLExpress创建的,本机安装了SQL2005,但是我不想将数据库文件附加到数据库中然后使用,我只想连接数据库文件使用。
连接字符串如下:
<connectionStrings>
<add name="sqlstr" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WebQQ.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
</connectionStrings>
调用代码如下: str = System.Configuration.ConfigurationManager.ConnectionStrings["sqlstr"].ToString();
Con = new SqlConnection(str);
SqlDataReader Reader;
if (Con.State != ConnectionState.Open)
Con.Open();//打开数据库连接 //!!!这行出错
search="select * from UserList where UserName=" + TextBox1.Text + " and Password=" + TextBox2.Text;
SqlCommand Com = new SqlCommand(search, Con);
Reader = Com.ExecuteReader();//执行sql语句然后在VS2005里面测试能连接到数据库文件并得到数据,但是在IIS中架好之后却在Con.Open()这行出错,错误信息如下:
“/”应用程序中的服务器错误。
无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\SYSTEM' 登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.SqlClient.SqlException: 无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\SYSTEM' 登录失败。源错误:行 23: SqlDataReader Reader;
行 24: if (Con.State != ConnectionState.Open)
行 25: Con.Open();//打开数据库连接
行 26: SqlCommand Com = new SqlCommand(search, Con);
行 27: Reader = Com.ExecuteReader();//执行sql语句
源文件: f:\Asp.net Project\WebQQ\App_Code\Sql.cs 行: 25堆栈跟踪:[SqlException (0x80131904): 无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\SYSTEM' 登录失败。]
求能否指点下如何用SQLExpress连接数据库文件.mdf在IIS中不出现权限问题。
连接字符串如下:
<connectionStrings>
<add name="sqlstr" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WebQQ.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
</connectionStrings>
调用代码如下: str = System.Configuration.ConfigurationManager.ConnectionStrings["sqlstr"].ToString();
Con = new SqlConnection(str);
SqlDataReader Reader;
if (Con.State != ConnectionState.Open)
Con.Open();//打开数据库连接 //!!!这行出错
search="select * from UserList where UserName=" + TextBox1.Text + " and Password=" + TextBox2.Text;
SqlCommand Com = new SqlCommand(search, Con);
Reader = Com.ExecuteReader();//执行sql语句然后在VS2005里面测试能连接到数据库文件并得到数据,但是在IIS中架好之后却在Con.Open()这行出错,错误信息如下:
“/”应用程序中的服务器错误。
无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\SYSTEM' 登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.SqlClient.SqlException: 无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\SYSTEM' 登录失败。源错误:行 23: SqlDataReader Reader;
行 24: if (Con.State != ConnectionState.Open)
行 25: Con.Open();//打开数据库连接
行 26: SqlCommand Com = new SqlCommand(search, Con);
行 27: Reader = Com.ExecuteReader();//执行sql语句
源文件: f:\Asp.net Project\WebQQ\App_Code\Sql.cs 行: 25堆栈跟踪:[SqlException (0x80131904): 无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\SYSTEM' 登录失败。]
求能否指点下如何用SQLExpress连接数据库文件.mdf在IIS中不出现权限问题。
登录名(选择'NT AUTHORITY\SYSTEM' )>然后选择对应的角色成员
然后我给了他所有的服务器角色,但是试了下,还是一样的错误。
也就是说,如果我的VS2005和IIS不能同时访问这个数据库文件。
我就想再问下,有没有办法,能够让他们两个可以一起访问?