Hej! Det beror på Integrated Security prylen. Hur gör man en connection i ASP.NET?
Jag försöke ta steget mha VB.NET till ASP.NET och trodde inte det var så långt.
Har testat följande, kan någon tipsa om varför det inte fungerar?
Ser en connectionstring olika ut i Windows- resp. Web-applikationer?
1. Skapar en ny VB Windows Application i VS.NET.
2. Lägger ut en Button1 och en Listbox1 på Form1.
3. Vid knappklick fylls listboxen med författar-namn från databasen Pubs. Kod:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conSQL As New SqlClient.SqlConnection()
Dim cmdSQL As New SqlClient.SqlCommand()
Dim datRead As SqlClient.SqlDataReader
Dim i As Integer
cmdSQL.Connection = conSQL
conSQL.ConnectionString = "Integrated Security=True; Data Source=ABC; Initial Catalog=Pubs;"
conSQL.Open()
cmdSQL.CommandText = "select * from authors"
datRead = cmdSQL.ExecuteReader
With ListBox1
.Items.Clear()
Do While datRead.Read
.Items.Add(CStr(datRead("au_fname") + " " + datRead("au_lname")))
Loop
End With
datRead.Close()
End Sub
4. Provkör och det fungerar
5. Skapar en ny VB ASP.NET Web Application
6. Placerar även här ut en Button1 och en Listbox1 (web form kontroller)
7. Kopierar in samma händelse-kod som ovan för Button1_click
8. Provkör och får följande resultat:
Server Error in '/WebPubs' Application.
--------------------------------------------------------------------------------
Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.
Source Error:
Line 31: cmdSQL.Connection = conSQL
Line 32: conSQL.ConnectionString = "Integrated Security=True; Data Source=ABC; Initial Catalog=Pubs;"
Line 33: conSQL.Open()
Line 34:
Line 35: cmdSQL.CommandText = "select * from authors"
Source File: c:\inetpub\wwwroot\webPubs\WebForm1.aspx.vb Line: 33
Stack Trace:
[SqlException: Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.]
System.Data.SqlClient.SqlConnection.Open()
WebPubs.WebForm1.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\webPubs\WebForm1.aspx.vb:33
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
Sv: Hur gör man en connection i ASP.NET?
Du får inte med dig ngt användarkonto,
hur har du satt upp säkerheten? Impersonate false, authentication none?
sätt isf authentication Windows, impersonate false, och ge sedan aspnet kontot rättigheter i dbn