首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

奇怪,同一段代码为何在winform中正常,在web中确会报错呢?解决方案

2012-01-15 
奇怪,同一段代码为何在winform中正常,在web中确会报错呢?代码如下winform中:SqlConnectionStringBuildersb

奇怪,同一段代码为何在winform中正常,在web中确会报错呢?
代码如下
winform中:
SqlConnectionStringBuilder   sb   =   new   SqlConnectionStringBuilder();
                        sb.DataSource   =   @ "My-PC\SQLEXPRESS ";
                        sb.InitialCatalog   =   "SuppierCount ";
                        sb.IntegratedSecurity   =   true;
                        SqlConnection   con   =   new   SqlConnection(sb.ToString());
                        SqlCommand   cmd   =   con.CreateCommand();
                        cmd.CommandText   =   "select   *   from   cpNote   order   by   NoteID ";
                        SqlDataAdapter   da   =   new   SqlDataAdapter((SqlCommand)cmd);
                        DataSet   ds   =   new   DataSet();
                        da.Fill(ds);

dataGridView1.DataSource   =   ds.Tables[0].DefaultView;

web中:
SqlConnectionStringBuilder   sb   =   new   SqlConnectionStringBuilder();
                        sb.DataSource   =   @ "My-PC\SQLEXPRESS ";
                        sb.InitialCatalog   =   "SuppierCount ";
                        sb.IntegratedSecurity   =   true;
                        SqlConnection   con   =   new   SqlConnection(sb.ToString());
                        SqlCommand   cmd   =   con.CreateCommand();
                        cmd.CommandText   =   "select   *   from   cpNote   order   by   NoteID ";
                        SqlDataAdapter   da   =   new   SqlDataAdapter((SqlCommand)cmd);
                        DataSet   ds   =   new   DataSet();
                        da.Fill(ds);

GridView1.DataSource   =   ds.Tables[0];
GridView1.DataBind();

在WinForm中,没有任何问题,正常显示表记录。
在Web中跟踪了一下运行到
da.Fill(ds);报错
错误:无法打开登录所请求的数据库   "SuppierCount "。登录失败。
用户   'My-PC\SQLEXPRESS '登录失败。

另外说明一下,我用系统自带的数据库master替换SuppierCount,在web中就正常了。
SuppierCount数据库是从附加到sql2005中的,不是直接在数据库中建的,现在我基本上认定是这样的原因引起的,可是为什么会这样的呢?Web中为什么不可以直接操作到附加的数据库呢?




[解决办法]
去SuppierCount 把它设置成可以用window集成验证登陆
在这个数据库的属性项里

热点排行