[mysql] het negeren van een foutmelding?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Jboy1991
  • Registratie: September 2012
  • Laatst online: 08:26
Goedendag,

Ik zit met een ""groot" probleem. Ik heb hier een server weer draaiend, het is een redelijk oude server maar ermee spelen blijft leuk. Nu heeft hij een mysql verbidning om data in op te slaan. Echter werkte deze goed met mysql 4.2 (meende ik?) Meet het probleem is als volgt

De ontwikkelaar had tijdens het ontwikkelen van deze software een mysql column gemaakt. Deze column kreeg de naam "Range". Echter met komst van nieuwe mysqlservers is de naam "Range" ook een commando. En dan is het probleem natuurlijk wel duidelijk. Als de server een query naar mysql stuurt, stuurt mysql een error terug. Omdat hij niks kan inserten in een column wat een commando is?.

Nu vraag ik aan jullie, is er een manier om dit probleem te ontzeilen? Ik heb geen source van het programma dus kan de query niet in de source aanpakken. Het heeft vroeger wel gewerkt alleen zal je waarschijnlijk wat aanmoeten passen in de mysql server(config?) maar wat?

Dit is de error dat ik krijg van het programma zelf:
TABLE <tablenaam> create FAILED. 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 'Range int(11) NOT NULL default '0', Hidden tinyint(1) NOT NULL default '0', Chan' at line 1

Ik dacht aan deze log te zien dat er een fout was met de instellingen van de column. Echter toen ik phpmyadmin opende gaf hij aan:
"Column Range is een sleutelwoord"
(precieze error weet ik niet meer maar dit was de verwoording van mijn phpmyadmin)

Wie kan mij hierbij helpen??

gegroet :)

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

MySQL is niet een van de mij bekende Windows Clients. Ik verplaats je topic dus even naar S&WS.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Eris
  • Registratie: December 2003
  • Laatst online: 11-09 22:31

Eris

-

In dien mogelijk code aanpassen en range tussen apostrofs plaatsen

dus SELECT `range` FROM table

Acties:
  • 0 Henk 'm!

  • Jboy1991
  • Registratie: September 2012
  • Laatst online: 08:26
Zoals ik zei, kan ik de source niet aanpassen. Er moet toch een andere manier zijn ? Aangezien deze server bij een voorgaande mysql server wel zal moeten werken

Acties:
  • 0 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 08-09 15:03

Douweegbertje

Wat kinderachtig.. godverdomme

MySQL 5.0 gaan gebruiken. Sinds 5.1 zit range erin als protected.
Los daarvan hoop ik dat je inziet dat dit niet DE oplossing is, en dat je binnenkort misschien wel veel grotere problemen gaat krijgen als je niet snel de source krijgt.

Overigens is dit de enige manier. Zonder de source kun je gewoon niets anders dan dit. Je kunt ook geen alias maken of wat dan ook.

[ Voor 29% gewijzigd door Douweegbertje op 26-10-2014 20:47 ]


Acties:
  • 0 Henk 'm!

  • Jboy1991
  • Registratie: September 2012
  • Laatst online: 08:26
Ja klopt, het is alleen een background server (dus een server die een mysql verbinding nodig heeft voor het opslaan van de data). Echter voor andere projecten draai ik er een nieuwe versie van mysql bij.

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

De software is geschreven toen 5.0 nog niet eens in het vizier was? Dan wordt het nu 10 jaar later echt tijd voor onderhoud, als niet vandaag dan komt er morgen een andere reden wegens een andere update :P Beste manier is onderhoud regelen op de software, of alvast gaan zoeken naar vervanging van de software.
Of ergens op een virtueel servertje verouderde OS+DB+applicatie draaien, zonder enige toegang tot andere servers en met een vlag 'gevaarlijk' ernaast :+

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Jboy1991
  • Registratie: September 2012
  • Laatst online: 08:26
Nja weet je wat het is. De server werkt op een eigen (ingebouwde) mysql server goed. Het werkt via een libmysql.dll. Maar via de eigenserverhost kan ik niet bij de tabellen komen en zo de data gebruiken op me site.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 14:29

.oisyn

Moderator Devschuur®

Demotivational Speaker

Douweegbertje schreef op zondag 26 oktober 2014 @ 20:45:
Overigens is dit de enige manier. Zonder de source kun je gewoon niets anders dan dit.
Nou nou, dat is wel heel stellig. Ik zie nog twee mogelijkheden. Beide verre van ideaal natuurlijk, maar soms moet je roeien met de riemen die je hebt.

1. Een proxy library van MySQL gebruiken die de queries @ runtime herschrijft naar de juiste syntax.
2. De executable patchen zodat hij juiste queries gebruikt.

Beide vereisen specialistisch werk, al bestaat er wellicht al een implementatie van 1.

.edit: and guess what...

[ Voor 13% gewijzigd door .oisyn op 26-10-2014 23:45 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Jboy1991
  • Registratie: September 2012
  • Laatst online: 08:26
Dat is leuk en aardig. Alleen mis ik wel een pagina hoe ik dit aan het werk krijg. Ik gebruik namelijk Xammp en heb geen idee hoe en waar ik dit kan instellen, of hoe ik query's kan aanpassen. #help ?

Acties:
  • 0 Henk 'm!

  • curvemod
  • Registratie: Maart 2009
  • Laatst online: 06-09 20:43
Jboy1991 schreef op maandag 27 oktober 2014 @ 07:38:
Dat is leuk en aardig. Alleen mis ik wel een pagina hoe ik dit aan het werk krijg. Ik gebruik namelijk Xammp en heb geen idee hoe en waar ik dit kan instellen, of hoe ik query's kan aanpassen. #help ?
@TS je toont niet erg veel initiatief, je kan genoeg vinden met 1 zoekopdracht in Google. -> http://ftp.nchu.edu.tw/My...proxy-gettingstarted.html.

Basically moet je een lua scriptje maken die het aanpassen van de query voor je regelt op de proxy en dan zorgen dat je verbinding maakt met de proxy ipv. de `normale` server.

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

En ook op de site die .oisyn linkt staat een handleiding voor installatie en configuratie van MySQL Proxy, de XAMPP-handleiding beschrijft hoe te verbinden met een MySQL-server (nu dus de proxy). En een script zal je inderdaad moeten maken, zie bovenstaande tutorial en dit topic ('range' vermijden). Waar loop je vast?

De antwoorden die bij wijze van spreken drie keer klikken vereisen heb je al: dit programma in deze versie niet meer gebruiken op internet (aanpassen, alternatief zoeken, etc.).

NB: ik neem aan dat je dit alles op een testomgeving doet ;)

[ Voor 4% gewijzigd door F_J_K op 27-10-2014 08:07 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Rutix
  • Registratie: Augustus 2009
  • Laatst online: 05-09-2024
Het is inderdaad aan te raden om een acceptatie omgeving te hebben waar upgrades eerst worden getest voordat je productie gaat upgraden. Helemaal als er door meerdere projecten gebruik van worden gemaakt.

Nothing to see here!


Acties:
  • 0 Henk 'm!

  • Jboy1991
  • Registratie: September 2012
  • Laatst online: 08:26
Dus als ik het goed begrijp, is het niet verstandig om via mysqlproxy dit te doen omdat dit (net als downgrade van mysql versie) niet veilig is?
Pagina: 1