/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[MySQL] Update virker ikke
Fra : Lars Hoffmann


Dato : 21-01-05 14:19

Følgende query:

UPDATE menu_cabeceras set orden = orden + 1 WHERE orden >=9

Virker ikke hvis kører den fra ASP(jeg får en standard SQL fejl), men
hvis jeg indtaster den i f.eks MySQL query Browser virker det fint.

Det får mig til at tro at det nok er min MySQL driver på ASP serveren
der er den skyldige - og det er jo en længere historie...

Jeg bruger MySQL 4.1 på windows 2K og ville gerne have brugt seneste
drivere (myODBC 3.51.10), men der er en bug i den driver der gør at den
fra ASP giver en "Catastrophic Error". Derfor er jeg tvunget til at
bruge myODBC 3.51.9 som jo ellers virker fint.

Er det muligvis denne lidt ældre driver der giver mig problemer? Hvordan
kan jeg ellers omskrive mit SQL så den kommer til at virke?

Med venlig hilsen
Lars Hoffmann


--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

 
 
Jens Gyldenkærne Cla~ (21-01-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 21-01-05 14:33

Lars Hoffmann skrev:

> UPDATE menu_cabeceras set orden = orden + 1 WHERE orden >=9
>
> Virker ikke hvis kører den fra ASP(jeg får en standard SQL fejl)

Hvordan ser fejlmeldingen ud?
Du er formentlig helt sikker på at forespørgslen der sendes til
databasen står som du har skrevet den ovenfor (der er ikke variable
eller lignende der kan drille?)

> hvis jeg indtaster den i f.eks MySQL query Browser virker det fint.

Er det samme MySQL-version (kører MySQL query Browser på den maskine der
håndterer dine asp-sider?)

> Hvordan kan jeg ellers omskrive mit SQL så den kommer til at virke?

Det er et skud - men prøv med et par parenteser. Du kan også teste om
problemet forsvinder hvis du undlader at referere til orden i
WHERE-delen (det løser selvfølgelig ikke problemet, men det kan måske
indkredse det).

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Lars Hoffmann (21-01-2005)
Kommentar
Fra : Lars Hoffmann


Dato : 21-01-05 14:47

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:2nvyd905ubao$.dlg@jcdmfdk.invalid

> Lars Hoffmann skrev:
>
> > UPDATE menu_cabeceras set orden = orden + 1 WHERE orden >=9
> >
> > Virker ikke hvis kører den fra ASP(jeg får en standard SQL fejl)
>
> Hvordan ser fejlmeldingen ud?

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-4.1.8-nt]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 '{ call exeute('UPDATE menu_cabeceras
set orden = orden + 1 WHERE
/generador/addCabecera.asp, línea 23


> Du er formentlig helt sikker på at forespørgslen der sendes til
> databasen står som du har skrevet den ovenfor (der er ikke variable
> eller lignende der kan drille?)

Jeg er helt sikker (jeg har erstattet min execute kommando med en
response.write, så der skulle ikke vñre nogen ko på isen )


> > hvis jeg indtaster den i f.eks MySQL query Browser virker det fint.
>
> Er det samme MySQL-version (kører MySQL query Browser på den maskine der
> håndterer dine asp-sider?)


Ja, men MySQL query Browser bruger ikke samme driver. Jeg kan nemlig
fint desinstallermin myODBC og aligevel virker mySQL query Browser fint.


> > Hvordan kan jeg ellers omskrive mit SQL så den kommer til at virke?
>
> Det er et skud - men prøv med et par parenteser. Du kan også teste om
> problemet forsvinder hvis du undlader at referere til orden i
> WHERE-delen (det løser selvfølgelig ikke problemet, men det kan måske
> indkredse det).

Det prøvede jeg også, men uden held.
Med venlig hilsen
Lars Hoffmann


--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

Jesper Sommer (21-01-2005)
Kommentar
Fra : Jesper Sommer


Dato : 21-01-05 17:43

Lars Hoffmann wrote:
>>>hvis jeg indtaster den i f.eks MySQL query Browser virker det fint.
>>
>>Er det samme MySQL-version (kører MySQL query Browser på den maskine der
>>håndterer dine asp-sider?)
>
> Ja, men MySQL query Browser bruger ikke samme driver. Jeg kan nemlig
> fint desinstallermin myODBC og aligevel virker mySQL query Browser fint.

Akkurat ! Det kan ikke siges ofte nok ! Query Browser går direkte på
driverens API og anvender *IKKE* ODBC.



- Jesper

Stig Johansen (21-01-2005)
Kommentar
Fra : Stig Johansen


Dato : 21-01-05 18:39

Jesper Sommer wrote:

[snip mySQL problemer]

> Akkurat ! Det kan ikke siges ofte nok ! Query Browser går direkte på
> driverens API og anvender *IKKE* ODBC.

Nu bruger jeg ikke selv mySQL, men er lidt nysgerrig.
Hvad er budskabet i dit indlæg?
Er det, at man skal være bevidst om, at Query Browser bruger native driver?
eller
Er det, at mySQL's ODBC driver ikke virker?

Hvis der er fejl i deres ODBC driver, bør man vel give et feed back.

--
Med venlig hilsen
Stig Johansen

Jesper Sommer (21-01-2005)
Kommentar
Fra : Jesper Sommer


Dato : 21-01-05 20:15

Stig Johansen wrote:
>>Akkurat ! Det kan ikke siges ofte nok ! Query Browser går direkte på
>>driverens API og anvender *IKKE* ODBC.
>
> Nu bruger jeg ikke selv mySQL, men er lidt nysgerrig.
> Hvad er budskabet i dit indlæg?

Det er, at folk ofte ikke kan kende forskel på, hvad der anvender
native-drivers og hvad der anvender ODBC

Dermed kan man heller ikke bare fyre noget SQL af i en tilfældig konsol
der anvender native-driver, og forvente at alle de samme forhold gør sig
gældende igennem ODBC interfacet. Hvis man skal teste på den måde, skal
man anvende en konsol der kan gå gennem ODBC - f.eks. Microsoft Query
eller lign. Den er grim, primitiv, gammel og irriterende ... men den går
gennem ODBC.

Jeg har intet udestående med ODBC driveren til mySQL overhovedet. Det er
sikkert en glimrende ODBC implementering ...



- Jesper

Mads Lie Jensen (21-01-2005)
Kommentar
Fra : Mads Lie Jensen


Dato : 21-01-05 19:23

On Fri, 21 Jan 2005 13:46:56 +0000 (UTC), "Lars Hoffmann"
<larshoffmann@teleline.es> wrote:

>> > UPDATE menu_cabeceras set orden = orden + 1 WHERE orden >=9
>> >
>> > Virker ikke hvis kører den fra ASP(jeg får en standard SQL fejl)
>>
>> Hvordan ser fejlmeldingen ud?
>
>Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
>[MySQL][ODBC 3.51 Driver][mysqld-4.1.8-nt]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 '{ call exeute('UPDATE menu_cabeceras

Jeg har ingen ide om hvordan asp kodes eller hvordan man nøjagtigt tyder
en fejlbesked som ovenstående, men:

{ call exeute ?

Er ovenstående noget du selv har tastet ind et sted? For jeg vil da tro
det hedder { call execute, altså, at der mangler et 'c'.


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
Gartneriet - snart i ny indpakning: http://ny.gartneriet.dk

Lars Hoffmann (21-01-2005)
Kommentar
Fra : Lars Hoffmann


Dato : 21-01-05 22:40

Mads Lie Jensen wrote:

> Jeg har ingen ide om hvordan asp kodes eller hvordan man nøjagtigt tyder
> en fejlbesked som ovenstående, men:
>
> { call exeute ?

Bingo! Jeg har sjældent tydet en fejlbesked så ringe!

Nu virker det perfekt!

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste