Avatar billede challengers Nybegynder
12. marts 2005 - 12:09 Der er 15 kommentarer og
2 løsninger

MySql syntaks problem

Hej Eksperter!!

Nu har jeg rodet med denne fejl i en evighed, og jeg kan simpelthen ikke gennemskue, hvad der er galt. Når jeg afvikler forespørgslen lokalt på min egen Pc, virker det uden problemer. Men når den afvikles på webserveren får jeg følgende fejlmeddelelse:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT ID FROM DocHeading WHERE OrderIndex = 2)' at line 1

Min SQL sætning ser sådan ud:

SELECT * FROM DocSection WHERE DocHeading IN (SELECT ID FROM DocHeading WHERE OrderIndex = 2);

Det er helt sikkert ikke den samme version af Mysql, der kører på hhv. min egen maskine og serveren, men der må da være en måde at løse problemet på?
Avatar billede steen_hansen Forsker
12. marts 2005 - 12:15 #1
Du benytter da ikke ODBC-driveren til MySQL, men til MS Access?

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
Avatar billede moejensen Nybegynder
12. marts 2005 - 12:17 #2
det er kun den nyeste version af mySQL der understøtter sub selects, så det er nok dit problem.
Avatar billede moejensen Nybegynder
12. marts 2005 - 12:17 #3
jeg tror dit webhotel har en ældre version af mySQL, der derfor ikke understøtter sub selects
Avatar billede challengers Nybegynder
12. marts 2005 - 12:38 #4
--> Steen
Jo - jeg anvender faktisk Microsofts driver til Mysql. Det skyldes, vi havde store problemer med at forbinde til databasen via Mysql driveren, og da vi var under et vist tidspres, var vi nødt til at få noget til at virke hurtigt. Men det er ikke en permanent løsning.

--> moejensen:
Ved du fra hvilken version af MySql, sub selects understøttes?
Avatar billede moejensen Nybegynder
12. marts 2005 - 12:47 #5
jeg mener først det er i version 5 det bliver understøttet
Avatar billede challengers Nybegynder
12. marts 2005 - 12:56 #6
Jeg kører MySql Server version 4.1.8 på min egen maskine, og her virker det som sagt fint. På serveren kører version 4.0.18.
Jeg vil meget gerne vide, præcis hvornår sub selects starter med at blive understøttet, så jeg er sikker på, at det er dér problemet ligger...
Avatar billede moejensen Nybegynder
12. marts 2005 - 12:59 #7
du kan se det på www.mysql.com
Avatar billede kjulius Novice
12. marts 2005 - 13:01 #8
Iflg. http://dev.mysql.com/doc/mysql/en/subqueries.html startede supporten fra version 4.1
Avatar billede moejensen Nybegynder
12. marts 2005 - 13:03 #9
Jeg kan se at det er fra version 4.1.x det er understøttet.

det står også her:

www.experts-exchange.com/Databases/Mysql/Q_20668793.html+subselect+i+mySQL&hl=da" target="_blank">http://216.239.59.104/search?q=cache:2H12aZO1TRUJ:www.experts-exchange.com/Databases/Mysql/Q_20668793.html+subselect+i+mySQL&hl=da

remember that mysql doesn't support subselect queries (unless you're using 4.1.x but that's not for production)
Avatar billede moejensen Nybegynder
12. marts 2005 - 13:03 #10
så fik du to links :-)
Avatar billede challengers Nybegynder
12. marts 2005 - 13:11 #11
Mange tak for hjælpen!!

--> Kjulius:
Hvis du vil have lidt at point'ene, så smid lige et svar.
Avatar billede kjulius Novice
12. marts 2005 - 13:17 #12
--> challengers: Tak, jeg er altid sulten ;-)

--> moejensen: Undskyld jeg sådan kommer ind fra sidelinien og forstyrrer dit opspil (for nu at tale fodboldsprog). :-(
Avatar billede moejensen Nybegynder
12. marts 2005 - 13:19 #13
det går nok, selv om det er en time siden jeg svarede på det der blev spurgt om :-)
Avatar billede challengers Nybegynder
12. marts 2005 - 13:21 #14
moejensen får de fleste point, da hans link også hjalp mig til en løsning på problemet. Håber, I er tilfredse med fordelingen.

Løsningen blev at omskrive SQL sætningen til at anvende en JOIN:

SELECT * FROM DocSection ds INNER JOIN DocHeading dh ON ds.DocHeading = dh.ID WHERE dh.OrderIndex = 2;
Avatar billede kjulius Novice
12. marts 2005 - 13:23 #15
Jeg har ingen problemer med den fordeling. Synes fair. Tak.
Avatar billede moejensen Nybegynder
12. marts 2005 - 13:24 #16
helt fint.
Avatar billede challengers Nybegynder
12. marts 2005 - 13:31 #17
Super. Endnu en gang tak for hjælpen.
Fortsat god weekend.
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