24. januar 2006 - 09:17Der er
24 kommentarer og 1 løsning
problemer med at forbinde til MySQL
hej. Jeg har en ODBC 3.51 Driver til MySQL. Jeg har installeret den i ODBC panelet i control panel. Jeg har sat maindb som database, men alligevel får jeg følgende fejl:
Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) ODBC driver does not support the requested properties. /Bu Roskilde Rockers/Database/Connect.asp, line 4
(Line 4 er naturligvis forbindelsesoprettelsen)
Når jeg bruger denne kode: Set rs = Server.CreateObject("ADODB.RecordSet") strDSN = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=maindb;USER=Jakob;PASSWORD=XXX;OPTION=3;" rs.Open strSQL, strDSN, 3
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Du skal have lavet en ADODB.Connection før at du kan lave noget som helst database-relateret. Det er derimod ikke altid nødvendigt med en ADODB.RecordSet - det afhænger udelukkende af hvordan du ønsker at arbejde med dine recordset's.
jaja men hvis der er nogele felter eller koder der er reserverede som f.x. "Date" så kan man undgå komplikationer ved at sige [Date] skal man så skrive 'Date' ?
yet another problem... Jeg får fejl når jeg siger rs.Absolutepage... Hvordan kan man så lave pagning med MySQL ? Det er mit recordset jeg bruger, hvorfor vil det ikke fungere?
Du kan godt genbruge connectionen, så du kan stadig have det liggende i en fil.
Dette skal ligge i en fil: strDSN = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=maindb;USER=Jakob;PASSWORD=XXX;OPTION=3;" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open strDSN
Den fil inkluderes så på de andre sider, hvor du så kan lave alle de "set rsX" du vil:
set rs1 = conn.execute("select * from ...") set rs2 = conn.execute("select * from ...")
Du kan selvfølgelig også genbruge rsX når du er færdig med dem: set rs1 = conn.execute("select * from Tabel1...") while not rs1.eof ... wend set rs1 = conn.execute("select * from Tabel2...") while not rs1.eof ... wend
arh MySQL er da rocker besværligt så :P Er det virkelig så elendigt at jeg ikke kan lave en paging der er bedre, og sørge for at min kode bliver bare nogenlunde overskuelig?
Personlig synes jeg ikke der er den store forskeld på de to databaser. Til almindelig kørsel er koden næsten ens. Det er kun sql-sætningerne der variere lidt, og det er ikke særlig ofte.
Angående paging kan nogen bedst lide MySQL's metoden men andre foretrækker Access og MS-SQL metoden. Jeg kan personlig bedst lide MySQL metoden, men nok fordi jeg ikke kan lide rs.open og de muligheder den giver (f.eks rs.update, rs.delete og hele paging metoden). Det vil jeg hellere gøre gennem "rigtige" sql-sætninger.
Næh nej. Det er skam ikke kun til paging den forbindelse kan bruges. Jeg har f.eks lavet det sådan her:
(connection.asp) dim conn const strDSN = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=maindb;USER=Jakob;PASSWORD=XXX;OPTION=3;" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open strDSN
(end.asp) conn.close set conn = nothing
Connection og end filerne bliver includeret på alle mine sider (i start og til slut). På den måde har jeg EN database connection, og ud fra den kan jeg gøre alt det jeg vil med databasen (hente, updatere, slette). Det er kun en database forbindelse, hvordan den bruges er helt op til dig selv. Den kan endag bruges sammen med et ADODB.RecordSet, selv om MySQL ikke er så glad for den type forbindelse (men det kunne jo være du havde en Access/MS-SQL forbindelse et andet sted).
set rs = Server.CreateObject("ADODB.RecordSet") rs.Open SQLStr, Conn, 1
Synes godt om
Ny brugerNybegynder
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.