Avatar billede tweak Nybegynder
13. januar 2006 - 15:53 Der er 21 kommentarer og
1 løsning

Hjælp til rette gæstebog til en MySQL Database

Hej,

Jeg har en asp gæstebog som bruger Access er det sådan at jeg kan
få en til at hjælpe mig med at få den til at bruge MySQL istedet.
Jeg er ikke en ørn til sådan noget, så enhver hjælp vil blive
godt modtaget!! Jeg har phpMyAdmin

Mvh
Jan
Avatar billede arne_v Ekspert
13. januar 2006 - 17:13 #1
har du adgang til MySQL ?

så starter du vel med at ændre connection string så den connecter til MySQL
databasen

og så ser du om du får inegn fejl eller 3000 fejl

hvis fejl så kigger vi på dem en af gangen

hvis du bruger subqueries så skal du gå efter MySQL 4.1 eller 5.0 (3.23 og 4.0
understøtter ikke subselects)
Avatar billede tweak Nybegynder
13. januar 2006 - 17:48 #2
Hej arne,

Jeg har forsøgt at ændre connection string fra:

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/xxx.mdb")

til:

strDSN = "driver={MySql ODBC 3.51 Driver};server=xxx.xxx.xxx.xxx;database=xxx_email;uid=xxx_xxx;pwd=xxx;"

men så får jeg fejlen:


Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name too long

/gaestebog.asp, line 39

------------------------------------------------------------------

Line 39 i gaestebog er:

rs.Open strSQL, strDSN, 1


som jeg så har ændret til:

rs.Open  strDSN, strSQL

Men så får jeg fejlen:


Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][ODBC 3.51 Driver]Access denied for user: 'SELECT * FROM gaestebog ORDER BY@web1.danhost.dk' (Using password: YES)

/gaestebog.asp, line 39
Avatar billede tweak Nybegynder
13. januar 2006 - 17:50 #3
Hvad er subqueries.? MySQL 4.0.26 står der i phpMyAdmin
Avatar billede arne_v Ekspert
13. januar 2006 - 18:19 #4
subqueries er f.eks.

SELECT * FROM tabel WHERE felt NOT IN (SELECT felt FROM andentabel)
Avatar billede tweak Nybegynder
13. januar 2006 - 18:20 #5
Okay, men så skulle der jo ikke være problemer med den Version.?
Avatar billede arne_v Ekspert
13. januar 2006 - 18:21 #6
SQL er 1. argument og connection string 2. argument til Open
Avatar billede tweak Nybegynder
13. januar 2006 - 18:22 #7
Eller dvs. der er der ikke :~)

strSQL = "SELECT * FROM gaestebog ORDER BY datetime;"
Avatar billede tweak Nybegynder
13. januar 2006 - 18:23 #8
13/01-2006 18:21:29,

Hvad.?
Avatar billede tweak Nybegynder
13. januar 2006 - 18:27 #9
Du er nød til at skrive som om du skrev til en som ikke ved et hak om det her - for det gør jeg ikke :)
Avatar billede arne_v Ekspert
13. januar 2006 - 18:47 #10
4.0.26 er et problem hvis du bruger subquery

"SELECT * FROM gaestebog ORDER BY datetime" er ikke valid SQL da DATETIME er
et reserveret ord
Avatar billede tweak Nybegynder
13. januar 2006 - 20:39 #11
okay, så har jeg rette et par småting, skal lige sige min gæste bog består af en skriv og af en gem. hvor skriv har en <!--#include file=".asp"-->

Men jeg er nået der til hvor jeg kan tilgå skriv.asp men forsøger jeg så at skrive kommer den med fejlen:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/skriv.asp, line 42

hvor line 42 er:

rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic


lidt mere kode:

        Set rs = Server.CreateObject("ADODB.Connection")
        strSQL = "SELECT * FROM gaestebog WHERE (ID = 0)"

Line 42        rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
Avatar billede arne_v Ekspert
13. januar 2006 - 21:26 #12
og tempConn er ?

(bare xxxxx password når du poster)
Avatar billede tweak Nybegynder
13. januar 2006 - 21:28 #13
Hvad mener du.?
Avatar billede arne_v Ekspert
13. januar 2006 - 21:31 #14
hvad indeholder tempConn ?


og husk at erstat password med xxxxx når du poster den
Avatar billede tweak Nybegynder
13. januar 2006 - 21:34 #15
Hmmm, det ved jeg ik. Det eneste jeg kan finde som indeholder er:

        rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Website") = Server.HTMLEncode(strWebsite)
            rs("Overskrift") = Server.HTMLEncode(strOverskrift)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs("IP") = IP
            rs.Update
        End If
rs.Close
Set rs = Nothing
tempConn.close
Set tempConn = nothing
Avatar billede tweak Nybegynder
13. januar 2006 - 21:36 #16
Nææææ, hvor kan jeg bare ikke se det logiske i asp :(
Avatar billede arne_v Ekspert
13. januar 2006 - 21:39 #17
tempConn må vel blive sat et sted
Avatar billede tweak Nybegynder
13. januar 2006 - 21:41 #18
Nej det gør den ikke.
Avatar billede tweak Nybegynder
13. januar 2006 - 21:48 #19
Men hvis jeg fjerner tempConn:

        rs.Open strSQL, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Website") = Server.HTMLEncode(strWebsite)
            rs("Overskrift") = Server.HTMLEncode(strOverskrift)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs("IP") = IP
            rs.Update
        End If
rs.Close
Set rs = Nothing


får jeg stadig:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/skriv.asp, line 42
----------------------------------------------------------------------

og det forstår jeg ikke, jeg åbner vel min database med strSQL ?
Avatar billede tweak Nybegynder
14. januar 2006 - 20:02 #20
Hej,

Jeg har droppet min asp gæstebog, kan sq ikke finde ud af det l*rt :(

Men har har så lavet en i php istedet:
PHP version: http://www.digitalife.dk/gbog/skriv.php
ASP version: http://www.digitalife.dk/gb.asp

Nu har jeg så bare det problem at jeg har overført min access database til MySQL og nu vises å &#229; hvordan pokker kan man løse det, jeg har overført min database med MySQL FRONT.

Jeg har ikke fået løst mit asp problem, men det er der ikke noget at sige til - fandens til rodet kode og jeg giver stadig point pga. af dette.!
Avatar billede tweak Nybegynder
19. januar 2006 - 22:39 #21
Jeg lukker, hvis du mener du skal ha point må du sige til og jeg opretter et nyt.?
Avatar billede arne_v Ekspert
20. januar 2006 - 16:33 #22
ok med mig
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