Avatar billede steensommer Praktikant
25. januar 2005 - 09:24 Der er 18 kommentarer og
1 løsning

Anvende MS SQL

Hej

I en Excel projektmappe anvender jeg en del SQL for at skrive til og hente data til/fra ACCESS.

Men antallet at forbindelser til ACCESS er blevet så stor at hastigheden er blevet et problem.

Spørgsmålet er:

- Er MS SQL Server 2003 databasen svaret?
- I givet fald er SQL anderledes i forhold til Access?
- Hvordan opnår man Connection til databasen (sti etc....) evt eksempel på en sql!


vh Steen
Avatar billede arne_v Ekspert
25. januar 2005 - 09:30 #1
Der er ikke nogen SQLserver 2003 - current er 2000 og 2005 er på vej.

SQLServer kunne meget vel være svaret.

SQLServer er en database server og ikke en fil database - det giver store fordele:
  - ved flere samtidige opdateringer
  - hvis databasen ligger på en anden maskine end client programmet

Jeg er ikke nogen ørn til Excel - hvordan connecter du til Acces idag ?
Avatar billede steensommer Praktikant
25. januar 2005 - 09:32 #2
vha ADODB
Avatar billede arne_v Ekspert
25. januar 2005 - 09:33 #3
Så ændrer du bare connection string.
Avatar billede steensommer Praktikant
25. januar 2005 - 09:34 #4
Ja men til hvad?
Avatar billede steensommer Praktikant
25. januar 2005 - 09:34 #5
Her er et eksempel:

Private Sub txtFNavn_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Conn As String
Dim rs As ADODB.Recordset
Dim strSQL As String
Dim Cprnr As String
Dim FNavn As String
Cprnr = Me.txtCPR.Text
FNavn = Me.txtFNavn.Text

    Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=\\server\faelles\Lotte og Susanne\Registre\Patientregisteret.mdb;"
    'Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=D:\Database\Patientregisteret.mdb;"

    strSQL = "UPDATE EKKO SET [Fornavn] = ('" & FNavn & "') WHERE [CPR nr] = ('" & Cprnr & "')"
   
    Set rs = New ADODB.Recordset
    rs.Open strSQL, Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
Set rs = Nothing

End Sub
Avatar billede arne_v Ekspert
25. januar 2005 - 09:35 #6
eksempel:

Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=SQLOLEDB; Server=ARNEPC2;Database=Test;User ID=sa;Password=;"
Avatar billede arne_v Ekspert
25. januar 2005 - 09:35 #7
Det er så lidt anderledes du bruger det.

Men du skal bare udskifte connection string.
Avatar billede steensommer Praktikant
25. januar 2005 - 09:35 #8
Men hvad med Data Source - den skal vel også anføres eller hva'?
Avatar billede arne_v Ekspert
25. januar 2005 - 09:39 #9
nej
Avatar billede steensommer Praktikant
25. januar 2005 - 09:40 #10
Hvor skal i givet fald anføres forbindelsen til SQL databasen? (udover connection string)
Avatar billede steensommer Praktikant
25. januar 2005 - 09:41 #11
...fra en klient
Avatar billede steensommer Praktikant
25. januar 2005 - 09:51 #12
Ups hvad med at hente eksisterende data fra access over i SQL databasen
Avatar billede arne_v Ekspert
25. januar 2005 - 09:53 #13
Ingen steder.

Connection string er nok.

Bemærk at mit eksempel kører med SQLServer security.

Provider=SQLOLEDB; Server=ARNEPC2;Database=Test;Integrated Security=SSPI;
Med windows security er det noget a la:
Avatar billede arne_v Ekspert
25. januar 2005 - 09:53 #14
Access har en upsize wizard som kan klare det.
Avatar billede arne_v Ekspert
25. januar 2005 - 09:53 #15
PS: Jeg checkede lige "Server" og "Data Source" er synonymer for SQLServer !
Avatar billede steensommer Praktikant
25. januar 2005 - 09:58 #16
Hvor ligger den mulighed i Access - jeg kan ikke umiddelbart finde den?
Avatar billede arne_v Ekspert
25. januar 2005 - 10:02 #17
Tools
Database utilities
Upsize wizard

(engelsk)
Avatar billede steensommer Praktikant
25. januar 2005 - 10:16 #18
Fundet på Dansk :0)

Jamen så kan jeg vel snart ikke spørge om mere - svar lige så får du point
TAK FOR HJÆLPEN!!!

vh Steen
Avatar billede arne_v Ekspert
25. januar 2005 - 12:06 #19
svar
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
Computerworld tilbyder specialiserede kurser i database-management

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