頭一次為了完成象征性的作業(yè)而使用asp.net,第一次使用asp.net啊,汗。所以馬上就碰到了問(wèn)題,我現(xiàn)在把這個(gè)問(wèn)題寫出來(lái),對(duì)于開發(fā)過(guò)asp.net的人,這個(gè)問(wèn)題應(yīng)該不成為問(wèn)題吧,我也只是針對(duì)剛剛接觸asp.net的人。昨晚在嘗試datagrid時(shí),出現(xiàn)如下錯(cuò)誤:
“/datagridtest”應(yīng)用程序中的服務(wù)器錯(cuò)誤。
--------------------------------------------------------------------------------
用戶 ’hp-2v47vi88m4gb/aspnet’ 登錄失敗。
說(shuō)明: 執(zhí)行當(dāng)前 web 請(qǐng)求期間,出現(xiàn)未處理的異常。請(qǐng)檢查堆棧跟蹤信息,以了解有關(guān)該錯(cuò)誤以及代碼中導(dǎo)致錯(cuò)誤的出處的詳細(xì)信息。
異常詳細(xì)信息: system.data.sqlclient.sqlexception: 用戶 ’hp-2v47vi88m4gb/aspnet’ 登錄失敗。
源錯(cuò)誤:
行 31: if(!this.ispostback)
行 32: {
行 33: sqldataadapter1.fill(dataset11,0,10,"products");
行 34: this.databind();
行 35: }
源文件: c:/inetpub/wwwroot/datagridtest/webform1.aspx.cs 行: 33
堆棧跟蹤:
[sqlexception: 用戶 ’hp-2v47vi88m4gb/aspnet’ 登錄失敗。]
system.data.sqlclient.connectionpool.getconnection(boolean& isintransaction) +474
system.data.sqlclient.sqlconnectionpoolmanager.getpooledconnection(sqlconnectionstring options, boolean& isintransaction) +372
system.data.sqlclient.sqlconnection.open() +384
system.data.common.dbdataadapter.quietopen(idbconnection connection, connectionstate& originalstate) +44
system.data.common.dbdataadapter.fillfromcommand(object data, int32 startrecord, int32 maxrecords, string srctable, idbcommand command, commandbehavior behavior) +304
system.data.common.dbdataadapter.fill(dataset dataset, int32 startrecord, int32 maxrecords, string srctable, idbcommand command, commandbehavior behavior) +77
system.data.common.dbdataadapter.fill(dataset dataset, int32 startrecord, int32 maxrecords, string srctable) +40
datagridtest.webform1.page_load(object sender, eventargs e) in c:/inetpub/wwwroot/datagridtest/webform1.aspx.cs:33
system.web.ui.control.onload(eventargs e) +67
system.web.ui.control.loadrecursive() +35
system.web.ui.page.processrequestmain() +750
==============================================================================
按照我的出現(xiàn)的exception,我的解決方法如下:
1、在sql server創(chuàng)建 “電腦名/aspnet”用戶。比如我創(chuàng)建hp-2v47vi88m4gb/aspnet
2、在sql enterprise manager里打開“安全性”文件夾,右擊“登錄”,選擇“新建登錄……”。“常規(guī)”選項(xiàng)卡,“名稱”填hp-2v47vi88m4gb/aspnet,其他默認(rèn);“數(shù)據(jù)庫(kù)訪問(wèn)”選項(xiàng)卡,指定訪問(wèn)的數(shù)據(jù)庫(kù),我指定的是northwind數(shù)據(jù)庫(kù),然后給他賦權(quán)限:dbo,public就夠了。
如果有更好的方法,請(qǐng)不啻指教