Avatar billede EIHP Juniormester
01. september 2002 - 12:56 Der er 13 kommentarer og
1 løsning

Overfør fra en DB til en anden???

Hvordan overfører jeg data fra den ene database til den anden???

Jeg har selv lavet denne her, men den virker ikke:
<%
If Request("b") = "" Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("nyusersdata.mdb")
strSQL = "SELECT * FROM users where (Username = '" & session("password-session") & "')"
set rs = Conn.execute(strSQL)

if rs.EOF then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("usersdata.mdb")
strSQL = "select * FROM users WHERE (Username = '" & session("password-session") & "')"
set rs = Conn.execute(strSQL)

Username = RS("Username")
Level = RS("Level")
Password = RS("Password")
Quidditch = RS("Quidditch")
Email = RS("Email")
Mave = RS("Mave")
Bank = RS("Bank")
Navn = RS("Navn")
Status = RS("Status")
Stav = RS("Stav")
Er = RS("Er")
Beskrivelse = RS("Beskrivelse")
Antal = RS("Antal")
Signatur = RS("Signatur")
Blod = RS("Blod")
Kon = RS("Kon")
Klan = RS("Klan")
Kappe = RS("Kappe")
Hat = RS("Hat")
Sted = RS("Sted")
Liv = RS("Liv")
Angreb = RS("Angreb")
Solvsagl = RS("Sølvsagl")
Exp = RS("Exp")
Argang = RS("Årgang")
Pengeibank = RS("Pengeibank")
Fanget = RS("Fanget")
Sidstfanget = RS("Sidstfanget")
Forsvar = RS("Forsvar")
Ip = RS("Ip")
Point = RS("Point")
   
Conn.Close
set Conn = Nothing

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("nyusersdata.mdb")
Conn.Open DSN

strSQL = "Insert into users ("

strSQL = strSQL & "Username, "
strSQL = strSQL & "Level, "
strSQL = strSQL & "Password, "
strSQL = strSQL & "Quidditch, "
strSQL = strSQL & "Email, "
strSQL = strSQL & "Mave, "
strSQL = strSQL & "Bank, "
strSQL = strSQL & "Navn, "
strSQL = strSQL & "Status, "
strSQL = strSQL & "Stav, "
strSQL = strSQL & "Er, "
strSQL = strSQL & "Beskrivelse, "
strSQL = strSQL & "Antal, "
strSQL = strSQL & "Signatur, "
strSQL = strSQL & "Blod, "
strSQL = strSQL & "Kon, "
strSQL = strSQL & "Kappe, "
strSQL = strSQL & "Hat, "
strSQL = strSQL & "Sted, "
strSQL = strSQL & "Liv, "
strSQL = strSQL & "Angreb, "
strSQL = strSQL & "Sølvsagl, "
strSQL = strSQL & "Exp, "
strSQL = strSQL & "Årgang, "
strSQL = strSQL & "Pengeibank, "
strSQL = strSQL & "Fanget, "
strSQL = strSQL & "Sidstfanget, "
strSQL = strSQL & "Forsvar, "
strSQL = strSQL & "Ip, "
strSQL = strSQL & "Point) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Username & "', "
strSQL = strSQL & "" & Level & ", "
strSQL = strSQL & "'" & Password & "', "
strSQL = strSQL & "'" & Quidditch & "', "
strSQL = strSQL & "'" & Email & "', "
strSQL = strSQL & "" & Mave & ", "
strSQL = strSQL & "'" & Bank & "', "
strSQL = strSQL & "'" & Navn & "', "
strSQL = strSQL & "'" & Status & "', "
strSQL = strSQL & "'" & Stav & "', "
strSQL = strSQL & "'" & Er & "', "
strSQL = strSQL & "'" & Beskrivelse & "', "
strSQL = strSQL & "" & Antal & ", "
strSQL = strSQL & "'" & Signatur & "', "
strSQL = strSQL & "'" & Blod & "', "
strSQL = strSQL & "'" & Kon & "', "
strSQL = strSQL & "'" & Klan & "', "
strSQL = strSQL & "'" & Kappe & "', "
strSQL = strSQL & "'" & Hat & "', "
strSQL = strSQL & "'" & Sted & "', "
strSQL = strSQL & "" & Liv & ", "
strSQL = strSQL & "" & Angreb & ", "
strSQL = strSQL & "" & Solvsagl & ", "
strSQL = strSQL & "" & Exp & ", "
strSQL = strSQL & "" & Argang & ", "
strSQL = strSQL & "'" & Pengeibank & "', "
strSQL = strSQL & "'" & Fanget & "', "
strSQL = strSQL & "'" & Sidstfanget & "', "
strSQL = strSQL & "" & Forsvar & ", "
strSQL = strSQL & "'" & Ip & "', "
strSQL = strSQL & "" & Point & ")"

Conn.Execute(strSQL)

%>Du er nu overføret fra den gamle database til den nye.<%
Conn.Close
Set Conn = Nothing
else
%>Du er allerede overføret<%
end if

Conn.Close
set Conn = Nothing
%>
Der kommer ikke nogen fejl eller noget, den skriver bare "Siden kan ikke vises".

Hvad kan jeg ellers gøre???
Avatar billede EIHP Juniormester
01. september 2002 - 12:57 #1
If request("b") = "" Then, er der ikke... Det er fordi jeg har prøvet på mange måder...
Avatar billede eagleeye Praktikant
01. september 2002 - 13:00 #2
Prøv at slå "Show freindly HTTP error messages fra" i IE -> Tools -> Internet Options -> Advanced.
Avatar billede EIHP Juniormester
01. september 2002 - 13:04 #3
Tak smid lige et svar...
Avatar billede eagleeye Praktikant
01. september 2002 - 13:06 #4
OK.
Du bruger et par kolonne navne som er reserverede ord i SQL blandt andet level og password. Du kan godt bruge dem du skal bare sætte kolonne navne i [] sådan her [level] osv.
Avatar billede EIHP Juniormester
01. september 2002 - 13:07 #5
Et andet problem er, at jeg har mine sider på en Amerikans server.
Vis du kigger længer oppe, kan du se jeg har to felter der hedder: Sølvsagl og Årgang. De er den fejl jeg før nu. Skal jeg ændre det i databasen, eller er der en lille kode, jeg skal sætte i toppen???
Avatar billede EIHP Juniormester
01. september 2002 - 13:08 #6
Sådan her [Level] = RS("Level")???
Avatar billede eagleeye Praktikant
01. september 2002 - 13:10 #7
Jeg ville ændre dem til et navn uden æ, ø, å. Man bør kun bruger a-z 0-9 smat _ i kolonnen navne minus/bindestreg går heller ikke. Men man kan godt havde kolonne navne med "ulovlige karakter" da man kan sætte [] omkring kolonnanet [Årgang]

Hvis du ligger tal ind i databasen skal der ikke ' omkring i SQL sætningen, men det har du vist husket :)
Avatar billede eagleeye Praktikant
01. september 2002 - 13:11 #8
Ja i SQL sætningen er man nød til at havde [level]  men udskriver du fra et recordset kan du gøre sådan :  response.write RS("Level")
Avatar billede EIHP Juniormester
01. september 2002 - 13:17 #9
Endnu et spørsmål:
Efter ha ændre Solvsagl = RS("Sølvsagl") til Solvsagl = [RS("Sølvsagl")]
For jeg en fejl meddelese:
Microsoft VBScript runtime error '800a01f5'

Illegal assignment: 'Exp'

/data-to-data.asp, line 36
Avatar billede eagleeye Praktikant
01. september 2002 - 14:10 #10
det skal bare være:

Solvsagl = RS("Sølvsagl")
Avatar billede EIHP Juniormester
01. september 2002 - 14:18 #11
Så får jeg en fejl:
ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/data-to-data.asp, line 35
Avatar billede eagleeye Praktikant
01. september 2002 - 14:36 #12
Det kunne tyde på at en af linierne

..
Navn = RS("Navn")
Status = RS("Status")
..

Er der et navn i RS("XXX") som den ikke kan finde altså det er skrevet forkert i forhold til navnet i databasen.
Avatar billede eagleeye Praktikant
01. september 2002 - 14:37 #13
Den siger det er i linie 35 så det skulle være til at finde.
Avatar billede EIHP Juniormester
01. september 2002 - 14:44 #14
Ja og det er RS("Sølvsagl")
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