Avatar billede eksperten1 Nybegynder
24. oktober 2002 - 15:43 Der er 17 kommentarer og
1 løsning

MySQL fejl : ODBC Driver does not support

I en ASP fil vil jeg gerne indsætte en ny record i en MySQL db, det er fordi jeg skal bruge den nye ID til at omdøbe en fil med, men jeg får flg. fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

/collectArticleWFiles.asp, line 16

Her er linje 15+16:
Set RS = Server.Createobject("ADODB.RecordSet")
RS.Open "filereg", AccessConnect, 1, 3

Kan jeg ikke bruge det her, if so, hvad er alternativerne, jeg skal bruge den nye ID, omdøbe en fil og så tilføje noget til samme record igen.

vhE1
Avatar billede medions Nybegynder
24. oktober 2002 - 15:46 #1
Punkt 1 Download MyODBC fra www.mysql.com
Brug en af følgende connections:

mySQL (ODBC):

objConn.Open "Driver={mySQL}; Server=ServerNavn; Option=16834; Database=DatabaseNavn;"

Eller mySQL (remote) (ODBC):

objConn.Open "Driver={mySQL}; Server=host.domain.com; Port=3306; Option=131072; Stmt=; Database=DatabaseNavn; uid=Brugernavn; pwd=Adgangskode;"

//>Rune
Avatar billede eksperten1 Nybegynder
24. oktober 2002 - 16:04 #2
>Rune
Det er skam installeret og jeg kan også sagtens tilgå db på andre sider, men det er den her specifikke metode der fejler.
Jeg tror at det er RS.Open... der ikke er, jeg ved det ikke, understøttet ?
Avatar billede a1a1 Novice
24. oktober 2002 - 16:37 #3
Prøv at opdatere din mdac driver, det er meget muligt at det er det..

http://www.microsoft.com/data/download_270RTM.htm

;)
Avatar billede eksperten1 Nybegynder
24. oktober 2002 - 16:40 #4
Det er det ikke, kører MDAC 2.6.
Ellers tak (igen)
Avatar billede a1a1 Novice
24. oktober 2002 - 16:45 #5
prøv lige at skrive noget mere af koden :)
Avatar billede eksperten1 Nybegynder
24. oktober 2002 - 16:55 #6
accessConnect = "Driver={mySQL}; Server=xxx.115.128.133; Port=3306; Option=131072; Stmt=; Database=bbst; uid=????; pwd=????;"
tempDir = "C:\temp"
destDir = "C:\Documents and Settings\Administrator\My Documents\dev\bbst\site\files\"
Set upload = Server.createobject("persits.upload.1")
upload.overwritefiles = FALSE
upload.save tempDir

'// ICON A
Set forsideFile = Upload.Files("forsidebillede")
If Not forsidefile Is Nothing Then '// User uploaded a file
    strForsidetitel = upload.form("forsidetitle")
   
    Set RS = Server.Createobject("ADODB.RecordSet")
    RS.Open "filereg", AccessConnect, 1, 3   
    RS.addnew
    '// Insert data to record
        RS("title") = strForsidetitel
    '// End insert
    RS.Update
        newid = RS("id")
    '// Rename and copy the file
        newname = newid & forsidefile.ext       
        forsidefile.copy destDir & newname
        forsidefile.delete
    '// Now update the record
        RS("url") = "/files/"& newname
    RS.update
    RS.Close
    Set RS = nothing
imgURL = "/files/"& newname   
dataarray(1) = imgURL
else
    strFoto1 = upload.form("foto1")
    dataarray(1) = strFoto1
End if
:-)
Avatar billede a1a1 Novice
24. oktober 2002 - 17:08 #7
hvis du fjerner

    newid = RS("id")
    '// Rename and copy the file
        newname = newid & forsidefile.ext       
        forsidefile.copy destDir & newname
        forsidefile.delete
    '// Now update the record
        RS("url") = "/files/"& newname
    RS.update

virker det så?
Avatar billede a1a1 Novice
24. oktober 2002 - 17:12 #8
iflg. ado docs

du åbner dit recordset med en "keyset" cursor (1 tallet)
RS.Open "filereg", AccessConnect, 1, 3

fra docs..
yuu can see changes made by other users, but new records are NOT visible

må vel betyde at du ikke kan opdatere en record du lige har oprettet

du kan evt. bruge en dynamic cursor (2 tal istedet for 1)
Avatar billede eksperten1 Nybegynder
24. oktober 2002 - 17:47 #9
Nu ændrede jeg det til ,2,3 og fik flg. fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

/collectArticleWFiles.asp, line 16
Avatar billede medions Nybegynder
24. oktober 2002 - 23:12 #10
Hov, det må du undskylde... Havde ikke læst fejlmeddelsen ordentlig!

-Du må ikke bruge "direkte" recordsets med MySQL... Der er du nødt til at skære det hele ud i normal SQL... Som sådan her:

<%
    objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "Driver={mySQL}; Server=host.domain.com; Port=3306; Option=131072; Stmt=; Database=bbst; uid=Brugernavn; pwd=Adgangskode;"
    tempDir = "C:\temp"
    destDir = "C:\Documents and Settings\Administrator\My Documents\dev\bbst\site\files\"
    Set upload = Server.createobject("persits.upload.1")
    upload.overwritefiles = FALSE
    upload.save tempDir

'// ICON A
Set forsideFile = Upload.Files("forsidebillede")
If Not forsidefile Is Nothing Then '// User uploaded a file
    strForsidetitel = upload.form("forsidetitle")
   
    '// Rename and copy the file
        newname = newid & forsidefile.ext       
        forsidefile.copy destDir & newname
        forsidefile.delete
       
    strSQL = "INSERT INTO filereg (titel,url) VALUES ('" & strForsidetitel & "','/files/" & newname & "',)"
    objConn.Execute(strSQL)
Set objConn = Nothing
imgURL = "/files/"& newname   
dataarray(1) = imgURL
else
    strFoto1 = upload.form("foto1")
    dataarray(1) = strFoto1
End if
%>

//>Rune
Avatar billede eksperten1 Nybegynder
24. oktober 2002 - 23:14 #11
Jah, men jeg skal bruge den ny ID til at navngive filen med og så skrive en URL tilbage i den record. ? Er det noget med insert_id eller lign ?
Avatar billede medions Nybegynder
24. oktober 2002 - 23:18 #12
Hmm du får den sidstnye ID ved at skrive:
strSQL = "SELECT TOP 1 [ID] FROM regfile ORDER [ID] BY ASC"
objRs = objConn.Execute(strSQL)

Response.Write(objRs("id"))

//>Rune
Avatar billede eksperten1 Nybegynder
24. oktober 2002 - 23:21 #13
Det tør jeg ikke satse på, har MySQL ikke en tilsvarende funktion som SQL Server's @@IDENTITY ?
Hvis nu der sidder flere og opretter samtidig går der kuk i det hele!
Avatar billede medions Nybegynder
24. oktober 2002 - 23:23 #14
Jov... Den hedder det samme...

//>Rune
Avatar billede eksperten1 Nybegynder
24. oktober 2002 - 23:25 #15
Hmm, syntes ikke rigtig jeg får et resultat. Kigger lige min kode igennem.
Avatar billede eagleeye Praktikant
03. november 2002 - 03:18 #16
Avatar billede eagleeye Praktikant
03. november 2002 - 03:19 #17
Avatar billede medions Nybegynder
05. november 2002 - 13:25 #18
Thx 4 Poinz

//>Rune
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