/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Åbne flere databaser på en gang
Fra : René Pedersen


Dato : 20-06-03 12:49

Hej jeg har et problem. Jeg skal åbne en database og tage data
fra den og lægge ind i en anden database. Dette skal jeg gøre for
ca. 500 databaser hvor data skal lægges ind i samme database. Jeg
forsøger mig med følgende script:

<%
Set Conn2 = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/temp/data.mdb")
Conn2.Open DSN
For i=1 to 9
   Set Conn1 = Server.CreateObject("ADODB.Connection")
   DSN2 = "DRIVER={Microsoft Access Driver (*.mdb)}; "
   DSN2 = DSN2 & "DBQ=" & Server.MapPath("/temp/2002/")
   DSN2 = DSN2 & i
   DSN2 = DSN2 & (".mdb")
   response.write(DSN2)
   Conn1.Open DSN2
   strSQL = "Select * from ph1"
   Set rs = Conn1.Execute(strSQL)
   Do
       strSQL = strSQL & "Tidsstempel, "
      strSQL = strSQL & "frie_pladser, "
      strSQL = strSQL & "max_pladser, "

      strSQL = strSQL & "values(' "

      strSQL = strSQL & objRs("ZeitStempel")
      strSQL = strSQL & "','"
      strSQL = strSQL & rs("AktKurz")
      strSQL = strSQL & "','"
      strSQL = strSQL & rs("MaxFreipKurz")
      strSQL = strSQL & "')"

      Conn2.Execute(strSQL)
      rs.MoveNext
   Loop While Not rs.EOF
   Conn1.Close
   Set Conn1 = Nothing
Next
Conn2.Close
Set Conn2 = Nothing
%>

Men når jeg kommer til linien DSN2 sker følgende fejl: Efter det
sidste slash kommer databasenavnet f.eks. 1.mdb. Men på serveren
registrerer den ikke slashen så den tror at databasen hedder
20021.mdb hvad kan det skyldes?

Er det muligt at åbne to databaser på den måde jeg forsøger eller
er der en smartere metode til at gøre det jeg forsøger?

På forhånd tak.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (20-06-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 20-06-03 13:10

René Pedersen skrev:

> strSQL = "Select * from ph1"
> Set rs = Conn1.Execute(strSQL)
> Do

Her er strSQL stadig "SELECT * FROM ph1"

> strSQL = strSQL & "Tidsstempel, "

[snip, lignende linjer]

Prøv at udskrive strSQL her. Det er ikke en gyldig insertsætning.
Du skal nulstille strSQL når du begynder løkken - eller bedre
endnu, bruge en anden variabel til insertsætningen.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (20-06-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 20-06-03 13:06

René Pedersen skrev:

> DSN2 = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN2 = DSN2 & "DBQ=" & Server.MapPath("/temp/2002/")

Hvis du mangler en backslash efter server.mappath-tilføjelsen, kan
du jo bare sætte den på selv:

   DSN2 = DSN2 & "\"

> Men når jeg kommer til linien DSN2 sker følgende fejl: Efter det
> sidste slash kommer databasenavnet f.eks. 1.mdb. Men på serveren
> registrerer den ikke slashen så den tror at databasen hedder
> 20021.mdb hvad kan det skyldes?

Server.Mappath giver tilsyneladende et andet svar end du forventer.
Men hvis det kun drejer sig om en manglende, "\" er problemet ikke
så stort.

> Er det muligt at åbne to databaser på den måde jeg forsøger eller
> er der en smartere metode til at gøre det jeg forsøger?

Der er noget galt med din løkke - jeg kommenterer i et andet
indlæg.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Christian M. Nielsen (20-06-2003)
Kommentar
Fra : Christian M. Nielsen


Dato : 20-06-03 14:35




"René Pedersen" <renehp@klarupnet.dk> wrote in message
news:bcusal$hoh$1@sunsite.dk...

> Do

> Loop While Not rs.EOF

Du bør nok overveje om det ikke vil være smartere at ændre dette til

Do While Not rs.EOF

Loop

Din kode vil fejle, hvis rs er tom.
--

Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk ICQ: 25308942
" If something's hard to do, then it's not worth doing. Homer J. Simpson"



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste