[Delphi+MySQL over TCP] "TCP tunnel" maken voor MySQL

Pagina: 1
Acties:

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Hallo!

Ik wil een app maken die kan communiceren met een MySQL-database op een webhost op afstand. Als admin van MySQL is het dan mogelijk om een gebruiker aan te maken die vanaf elke host kan connecten, en komt het vanzelf goed.

Nu is het bij de meeste webhosts helaas niet aan de orde dat je zonder meer je eigen MySQL-gebruikers van deze instelling mag voorzien. Nu zit ik me af te vragen of het d.m.v. een perlscript (of desnoods een of andere in php-geimplementeerde HTTP-response) mogelijk zou zijn om toch communicatie toe te staan tussen mijn programma en zo'n database.

Het mooiste zou zijn als je een actieve socket-verbinding kon openen met een klein programmaatje die de paketten netjes doorstuurt naar localhost:mysql, maar ik denk dat je ook bij vrijwel alle hosts niet zomaar een poortje kan openzetten om je mysql-client mee te laten connecten.

Is hier een oplossing voor te vinden? (zonder een hele PHP-backend te schrijven, of een enorme implementatie in Delphi)

Verwijderd

Je zegt 't zelf al, de meeste hosts zullen geen directe toegang van buitenaf tot hun database servers toestaan. En dan gaat dat "kleine programmaatje" wat je in gedachten had niet op.
Aannemend dat je bij die webhost geen Delphi services kan/mag installeren (duh!), zit je dus vast aan een PHP/Perl/Python/etc. backend bij die host waar je Delphi applicatie mee babbelt.

Wil je in je client standaard Delphi TDataSet-achtige dingen blijven gebruiken, kijk dan 's naar TClientDataSet. Hier kun je i.p.v. de standaard DataProviders (Interbase, MSSQL, etc.) ook eigen providers aan hangen die bv. kan babbelen met je PHP backend.
Maar het schrijven van zo'n provider is "not for the faint hearted"... :)