Avatar billede danm Nybegynder
19. marts 2006 - 00:13 Der er 7 kommentarer og
1 løsning

Database, fejl i connection

Jeg er lige begyndt på visual basic 2005 istedt for vb6 og er ved at lære ADO.net til at koble til en database. Jeg har fået oprettet en test SQL server database gennem Visual basic 2005 hvor der lige er 1 tabel med 3 kolonner og hvor der er indtastet et par værdier.
Den kode jeg har fundet som burde virke (iføle andre) ser ud som sådan:

Imports System.Data.SqlClient

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
        _System.EventArgs) Handles MyBase.Load
   
Dim con As SqlConnection = New SqlConnection
        _("server=localhost;Integrated Security=SSPI;data
        _source=c:test1\database1")
con.Open()
Dim cmd As SqlCommand = New SqlCommand("SELECT * FROM TABLE1",
        _con)
Dim rdr As SqlDataReader = cmd.ExecuteReader
While rdr.Read
    Console.WriteLine(rdr(0) & " " & rdr(1))
    End While
    rdr.Close()
    con.Close()
End Sub
End Class

Jeg har prøvet at indsætte lidt forskelligt i sqlconnection værdien med uden resultat. Jeg får hele tiden fejlen:
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)

Hvor skal database stien egentlig indsættes når den nu ligger i for eksempel mappen "C:test1" og hedder database1.mdf

Jeg er lidt forvirret lige nu... )o=
Avatar billede pidgeot Nybegynder
19. marts 2006 - 00:25 #1
Du skal ikke have stien med når det er en SQL-server. Brug i stedet "initial catalog=DB", hvor DB er navnet på selve databasen.
Avatar billede danm Nybegynder
19. marts 2006 - 00:30 #2
Skal jeg lave en streng med hele stien og så kalde den DB?

Dim DB as string
DB = "C:test1\database1"

skal endelsen med også (.mdf) så den hedder

DB = "C:test1\database1.mdf"?
Avatar billede pidgeot Nybegynder
19. marts 2006 - 01:06 #3
Nej, du skal blot skrive navnet på din database i stedet for DB.

Dvs. hvis din database hedder database1, skriver du initial catalog=database1. Det er irrelevant hvor den ligger, det holder SQL serveren selv styr på.
Avatar billede arne_v Ekspert
19. marts 2006 - 01:16 #4
eksempel:

Dim con As SqlConnection = New SqlConnection ("server=ARNEPC2;Integrated Security=SSPI;database=Test")

og for en god ordens skyld: database og initial catalog er synonymer
Avatar billede danm Nybegynder
19. marts 2006 - 23:27 #5
Takker
Husk lige at smide et svar så man kan give dig point. Selvom det måske ikke lige gør specielt meget ekstra ved din placering på top10...
Avatar billede arne_v Ekspert
20. marts 2006 - 00:47 #6
pidgeot var vel først med svaret ??
Avatar billede danm Nybegynder
13. april 2006 - 02:58 #7
Har glemt at følge op på tråden..  (o=
Pidgeot smid lige svar så du får point
Avatar billede pidgeot Nybegynder
13. april 2006 - 11:38 #8
Et svar er på vej :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester