Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


connect databas ASP.NET

Postades av 2008-04-29 23:47:51 - Elisabeth Andersson, i forum asp.net generellt, Tråden har 12 Kommentarer och lästs av 1234 personer

Jag vill koppla upp min applikation till en databas somligger på min D:\Mydb.mdb.
När jag kör programmet får jag följande meddelande:
"An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005,
this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.
(provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) "

Undrar var ligger felet.

koden:

        <asp:SqlDataSource 
                
            ID="testSqlDataSource" 
            runat="server" 
            ConnectionString="Data Source=D:\\Mydatabase;"//problemet ligger här????
            SelectCommand="SELECT * FROM Lista"
            
        >
            
        
        
                
        </asp:SqlDataSource>
        <asp:GridView 
                ID="GridView1" 
                runat="server" 
                Style="z-index: 104; left: 387px; position: absolute;top: 321px"
                DataSourceID="testSqlDataSource" 
        >        
        </asp:GridView>
        ...


Sen ska jag koppla en server till nåt webhotell vilket kan ni rekommendera?

Mvh Lisa


Svara

Sv: connect databas ASP.NET

Postades av 2008-04-30 00:17:30 - Pelle Johansson

Hej, först - har du någon sqlserver installerad eller har du bara en mdb-fil att arbeta med?

din connectionstring borde se ut såhär:
data source=localhost; initial catalog=testSqlDataSource; integrated security=true;

eller istället för integrated security om du inte vill logga in med det inbyggda aspnet-kontot utan sätta upp ett eget i databasen, eller ansluta mot en databas som inte ligger på din server - dvs de flesta hotell. Då skriver du:

data source=10.11.12.13; initial catalog=testSqlDataSource;user id=kalle;password=anka;

data source= ipadressen där sql servern finns
initial catalog = vad databasen heter, finns flera - northwind tex
user id= ett användarnamn du skapar på sqlservern för den specifika databasen
password, likaså

Obs, om du loggar in med username och password och det är en ny sql-installation så måste man ställa om den i mixed-mode. Detta innebär att man kan välja om man skall kunna logga in med integrated security, eller vanligt användarkonto.

Fråga gärna mer om du behöver tydligare svar


Svara

Sv: connect databas ASP.NET

Postades av 2008-04-30 07:41:55 - Johan Djupmarker

Eftersom det är en mdb-fil antar jag att det är Access du jobbar med. Då ska du inte använda en SqlDataSource utan en OleDbDataSource (eller AccessDataSource i VS2008).

/Johan


Svara

Sv:connect databas ASP.NET

Postades av 2008-04-30 10:11:58 - Pelle Johansson

Hmm, var nog för trött där - klart det är en access hon pratar om ;)


Svara

Sv: connect databas ASP.NET

Postades av 2008-04-30 10:14:52 - Thomas Karlsson

Hej Elisabeth

Det finns några olika tekniker då du skall koppla dig mot en databas. Antingen deklarerar du din koppling varje gång du skall hämta/skriva från/till din databas eller så skapar du en klass som där du deklarerar din koppling osv sedan skapar du klasser som ärver din kopplings-klass och sedan ställer du dina frågor där. Den sistnämnda tekniken använder jag då jag finner det smidigare. Det kanske känns mer koplicerat men i långa loppet så tror jag att det är det bästa. Jag skall försöka förklara.

Om vi tittat på det första så skulle en koppling mot en Access databas som du använder kunna se ut på följande sätt. Eftersom jag behärskar VB bäst så får exemplet bli i detta språk, hoppas att det är ok.

Vi tänker oss att vi vill binda en datakontroll i detta fall en repeter (skulle givetvis kunna vara en gridview eller något liknande). Vi vill binda denna kontroll vid page,load. Detta blir enlig:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   'Koppling till din databas
   Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("./DB/DinDatabas.mdb") & ";"
        Dim srtSQL As String = "SELECT * FROM DinTabel "
        Dim MyConn As New Data.OleDb.OleDbConnection(strConn)
        Dim Cmd As New Data.OleDb.OleDbCommand(srtSQL, MyConn)
        MyConn.Open()
        DinRepeater.DataSource = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
        DinRepeater.DataBind()

    End Sub


Detta binder din Repeater med allt från DinTabell. Nackdelen som jag ser det är att du måste deklarera samma sak nästa gång vid en annan händelse tex vid en Button eller dyligt. Chansen finns att du glömmer att stänga din koppling vilket aldrig är bra.

Därför tänker jag också visa den teknik som jag använder dvs med klasserna. Det första jag gör är att skapa mig en klass som tar hand om själva "kopplingen". Den kan vi kalla för cAccessConn och ser ut på följande sett:

Imports Microsoft.VisualBasic
Imports System.Data

Public Class cAccessConn
    Private AccessConn As New OleDb.OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;Data Source =  " & HttpContext.Current.Server.MapPath("./DB/DinDatabas.mdb") & "; Mode=ReadWrite;")
    Private ads As New DataSet
    Private ada As New OleDb.OleDbDataAdapter
    Private aSqlStr As String


    Protected ReadOnly Property Con() As OleDb.OleDbConnection
        Get
            Return AccessConn
        End Get
    End Property

    Public ReadOnly Property ds() As DataSet
        Get
            Return ads
        End Get
    End Property

    Public Property SqlStr() As String
        Get
            Return aSqlStr
        End Get
        Set(ByVal Value As String)
            aSqlStr = Value
        End Set
    End Property

    Public Sub Dispose()
        AccessConn.Dispose()
        ads.Dispose()
        ada.Dispose()
    End Sub

    Public Sub Fill()
        Dim Command As New OleDb.OleDbCommand
        Command.CommandText = SqlStr
        Command.Connection = AccessConn
        ada.SelectCommand = Command
        AccessConn.Open()
        ada.Fill(ds)
        AccessConn.Close()
    End Sub

    Protected Sub ExecNoQuery(ByVal sp As OleDb.OleDbCommand)

        AccessConn.Open()
        sp.ExecuteNonQuery()
        AccessConn.Close()
    
End Sub

End Class


Jag tänker inte gå in på det något djupare men som du ser så deklarerar jag ett dataset, en dataadapter samt min sql sträng.

Nästa steg är att skapa en eller flera klasser som tar hand om alla de frågor som du vill göra mot din Accessdatabas. Jag har som regel att jag skapar en klass för varje tabell som jag har i den databas som jag jobbar med.

Vi tänker oss att vi har en Repeater på en sida som kommer att hämta senaste nytt som finns i vår databas. Således tänker vi oss att vi har en tabell som vi kallar News. Som jag sa så har jag som en tummregel att en tabell i min databas är en klass. Därför skapar vi oss en klass som heter cNews enlig:


Public Class cNews
    Inherits cAccessConn

    Public Sub GetAllNews()
        SqlStr = " SELECT  Datum, Meddelande " & _
                 " FROM News " & _
                 " ORDER BY Datum DESC"
        Fill()
    End Sub
End Class



Lägg märke till att jag ärver våran databasklass, Inherit cAccessConn. Detta för att jag vill komma åt denna klassens innehåll, tex Fill()

Då var det bara en sak kvar och det är i code behind för att binda den Repeater vi har på sidan.

Jag skaper en sub under PageLoad som jag kallar LoadNews(). LoadNews ser ut på följande sätt:

    Public Sub LoadNews()
        Dim objMessage As New cNews
        objMessage.GetAllNews()
        MyRepeater.DataSource = objMessage.ds
        MyRepeater.DataBind()
        MyRepeater.Dispose()
     End Sub


Här deklarerar jag ett objekt av våran nyskapade klass cNews. Genom detta så kommer jag med hjälp av punktnotation åt de funktioner i klassen. Du kan se att med hjälp av vårt objekt kommer åt GetAllNews dvs den sub vi skapade i våran cNews klass.

Som sagt två tillvägagångssätt och jag vet inte vilket du kännner mest för. Jag gissar att den sista tekninken kan kännas lite invecklad och knölig. Men jag lover att du kommer att tycka den är smidigast, särskillt om du har måga frågor mot din databas.

Hoppas att det inte ställer till det allt för mycket då detta är VB.

Lycka till!

Mvh,
Thomas


Svara

Sv:connect databas ASP.NET

Postades av 2008-05-03 18:58:19 - Thomas Karlsson

Med all respekt för den extra ledigheten och med risk för att låta en aning tjurig så skulle ändå någon form av response uppskattas...

Mvh,
Thomas


Svara

Sv: connect databas ASP.NET

Postades av 2008-05-03 19:25:43 - Elisabeth Andersson

Jag forsöker att förstå din fina koden, jag är inte bra på vb. Undra om din kod kan göras inom
<asp:...
...
...
/asp:...>
ifall jag inte vill använda det i funktioner

Tack


Svara

Sv: connect databas ASP.NET

Postades av 2008-05-03 19:28:16 - Elisabeth Andersson

Oledbdatasource kan användas inom aspnet? jag menar på det sättet?
<asp:...
Oledbconnectio c = OledbCone...()
/asp...>


Svara

Sv:connect databas ASP.NET

Postades av 2008-05-03 19:39:14 - Ann Kapborg

Kolla här:

http://www.dotnetjohn.com/articles.aspx?articleid=3

och här:

http://www.connectionstrings.com/

//Ann


Svara

Sv: connect databas ASP.NET

Postades av 2008-05-03 20:18:01 - Elisabeth Andersson

tack för tipset men i Data source skriver på min path var min db finns, men i initial catalog=northwind??? måste jag skapa en webconfig fil?
tack


Svara

Sv:connect databas ASP.NET

Postades av 2008-05-03 20:25:10 - Ann Kapborg

En webconfig ska finnas med i projektet.


Svara

Sv:connect databas ASP.NET

Postades av 2008-05-03 22:16:47 - Thomas Karlsson

Hej igen Elisabeth, äntligen fick jag lite response från dig...=)

Jag menar inte att jaga på dig och jag ber om ursäkt om det tolkades så. Det är bara att flagga upp om det är något du inte är med på så går vi igenom det på nytt. Jag vet att mitt svar var tämligen långt och kanske uppfattades som mer krångligt än hjälpande lite beroende på tidigare erfarenhet.

Som sagt det finns många sätt att koppla sig mot databaser mycket beroende på vilken typ av databas man skall använda och jag skall villigt erkänna att även mina kunskaper är något begränsade då det gäller olika typer av databaser. Men då det gäller Acccess, som är fallet hos dig, så anser jag mig har de kunskaper som krävs för att klara mig.

Som sagt, kul att du skrev igen och jag skall gör allt jag kan för att ta dig vidare. Dock är jag lite osäker på vad du menar med dina frågor. Är det så att du behärskar C# eller något annat språk bättre än VB så det hela kanske blir en smula krångligt.

Så här är det bara du som kan bestämma om vi skall gå vidare. Jag hjälper dig givetvis i den mån jag kan men då är jag rädd att det blir i VB.

Så skriv lite hur du känner och är det så att vi skall kör vidare så får du gärna beskriva lite mer om det du är osäker på så tar vi det från det.

Angående de inlägg som kommit efter min efterlysning på response...=) så är det bra länkar som Ann gav dig. Dock har den sistnämnda länken bara exempel på lokal sökväg till databas vilken givetvis inte skulle fungera om du skulle tanka upp ditt projekt på en server för publicering (som du också efterlyste om jag förstod dig rätt?!). Som sökväg bör man enligt mig alltid köra med Server.MapPath.

Det pratades också om web.config. Visst skall man sträva efter att ha en web.config då mycket styrs genom denna fil (i vissa fall koppling till sin databas). Men i mitt exempel behövs inte en web.config för att styra kopplingen mot din Access databas.

Mer om allt detta tar vi senare då jag vet om du tycker på att vi skall köra vidare.

(Men med tanke på att du har satt din tråd som löst så är jag rädd att detta är slutet på detta, eller?!)

Mvh,
Thomas


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
804
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies