[C# - PHP] Via PHP vanuit C# een SQL query uitvoeren

Pagina: 1
Acties:
  • 355 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

Hoe kan ik het beste een SQL query vanuit C# doorgeven aan PHP zodat een PHP script deze uitvoert op de database.

Ik wil zo op deze manier een database kunnen beheren vanuit een C# applicatie. Ik weet dat het mogelijk is om rechtstreeks met een MySQL server te praten, echter de firewall laat dit niet toe, dus dan maar porten via HTTP :)

Nou kan ik natuurlijk een SQL commando via de POST of GET verwerken.

Is er volgens jullie verschil? Een POST formulier dat gepost wordt en het resultaat ervan uitlezen (WebBrowser), of door een GET het resultaat rechtstreeks via een XmlDoc laden.

Op dit moment weet ik nog niet hoe groot de queries kunnen zijn, misschien groot ....

Ben benieuwd wat jullie vinden.

Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 11:21
is dit niet iets waar voor je web services zou kunnen gebruiken?

http://quickstarts.asp.net/QuickStartv20/webservices/

[ Voor 30% gewijzigd door Ramon op 21-09-2007 22:39 ]

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • Ciqniz
  • Registratie: Oktober 2002
  • Laatst online: 07-09-2023

Ciqniz

On the move...

Misschien via webservices?
Zoek eens bijvoorbeeld op soap :)
Kan icm PHP volgens mij nog wel een hoop werk opleveren... Maar, dan heb je ook wel wat!

[ Voor 3% gewijzigd door Ciqniz op 21-09-2007 22:38 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oh ja, had ik erbij moeten vermelden :P

SOAP is niet ondersteund in de PHP configuratie.... ;(

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:03

Creepy

Tactical Espionage Splatterer

Eehh.. wat wil je nu weten? Of je een POST of een GET moet doen? Dat maakt voor je code eigenlijk helemaal niks uit. Een eigen webservice schrijven kan natuurlij kmaar die zal je nog steeds via een POSt of een GET moeten gaan benaderen. Eventueel met een SOAP sausje eroverheen (maar ook dat is en blijft gewoon POST'en of GET'en van een URL)..

OVerigen, heb je zelf al wat geprobeerd of niet? Lijkt me een kleine moeite om een PHP script te bakken dat een query kan inlezen via de POST/GET variabelen en de uitkomt weer op te vangen in je C# code.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
In C# kan ik in de constructor van een XmlDocument een URI opgeven....

Tijdens het typen van dit bericht denk ik dat ik beide system ga schrijven. Voor de INSERT of een UPDATE query een POST, gezien ik de grootte van query niet kan inschatten.

Na het bedenken dat ik ooit ergens had gelezen dat er een maximum van 255 karakters voor een URL (wat inmiddels +8000 is voor IE7).

Na een beetje zoeken wat het zou kunnen zijn voor een XmlDocument load functie vind ik de maximale lengthe 248:
The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.
Aan het eind van dit bericht, wordt het toch maar een POST verwerkingssysteem.

:+ Soms helpt het om het tegen andere mensen te vertellen om er vervolgens zelf over na te denken.

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
NuSoap!! Werkt perfect met PHP en Visual Studio!

Acties:
  • 0 Henk 'm!

  • barfieldmv
  • Registratie: Maart 2004
  • Laatst online: 23-08 21:37
Verwijderd schreef op vrijdag 21 september 2007 @ 23:14:
:+ Soms helpt het om het tegen andere mensen te vertellen om er vervolgens zelf over na te denken.

Het is hier geen HK en je hoeft niet te posten hoor :|

[ Voor 31% gewijzigd door RobIII op 21-09-2007 23:23 ]


  • whoami
  • Registratie: December 2000
  • Nu online
Ciqniz schreef op vrijdag 21 september 2007 @ 22:38:
Misschien via webservices?

Kan icm PHP volgens mij nog wel een hoop werk opleveren... Maar, dan heb je ook wel wat!
Eh wat dan ?
Wat is de toegevoegde waarde ? Dat weet je helemaal niet; waarom wil je via C# een query gaan uitvoeren ?
't Is niet omdat je 'webservices' gebruikt, dat je daarom persé een beter systeem hebt ...

Door de extra omweg, heb je gewoon een trager werkend systeem.
En ik zie, in dit geval het nut niet om met een webservice te gaan werken.

[ Voor 15% gewijzigd door whoami op 22-09-2007 04:27 ]

https://fgheysels.github.io/


Verwijderd

Ik snap het ook niet helemaal, als je onder firewalls uit wilt komen moet je gewoon een proxy gebruiken, simple as that. (Of een VPN, werkt ongeveer net zo)

Waarom het wiel opnieuw uitvinden?

  • Kalentum
  • Registratie: Juni 2004
  • Nu online
Even als reactie op de 'waarom?' reacties: Het zou kunnen (ik denk haast van wel) dat TS bezig is met een desktopapplicatie die een website of -applicatie beheert. Dan zou hij/zij eigenlijk bezig moeten zijn een API te maken.

Ik vind die oplossing van SQL queries versturen niet zo handig en eigenlijk ronduit gevaarlijk. Je kan beter definieren welke acties met welke objecten moeten plaats vinden en dan een HTTP interface daarvoor schrijven (met alle authenticatie en beveiliging die daar bij hoort).

Ik zou daar altijd een POST voor gebruiken omdat je niet zeker weet hoe groot de hoeveelheid data is.

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Ik zou trouwens noooooit zomaar een query via je ene applicatie naar een andere sturen om die daar uit te voeren! Wat als iemand er achter komt dat het op die manier gaat en bijvoorbeeld de manier van controleren weet omzeilen? Bouw er een mooie functie omheen, en maak die beschikbaar in je webservice. Problem solved, toch?

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

webservices is the way to go.
booking.com (hotels in europe) heeft een mooi voorbeeld
zie
http://xml.booking.com/affiliates/documentation/index.html

  • whoami
  • Registratie: December 2000
  • Nu online
rutgerw schreef op zaterdag 22 september 2007 @ 11:53:
Even als reactie op de 'waarom?' reacties: Het zou kunnen (ik denk haast van wel) dat TS bezig is met een desktopapplicatie die een website of -applicatie beheert. Dan zou hij/zij eigenlijk bezig moeten zijn een API te maken.
Ok, kan zijn. Maar laat dan gewoon die PHP stap varen, en implementeer een remote business facade en biedt die aan mbhv webservices.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Gebruik in elk geval geen get. Behalve dat de get (querystring) over het algemeen gelimiteerd is zorgt he4t ook een mogelijk beveiligings risico. Bij een HTTP post worden de queries niet gelogd in webserver logs, etc.

Verder kun je inderdaad de query als XML versturen, maar als het om 1 query gaat, waarom heb je dan uberhaupt een 'wrapper' nodig?

Overigens zul je begrijpen dat deze opstelling niet de meest snelle zal zijn en al helemaal niet stabiel. Jouw website is nu afhankelijk van een derde website, die op zijn beurt weer afhankelijk is van de database. Wat geeft de PHP website terug als de MySQL server niet meer draait? Wat doe je in het geval dat de PHP server zelf niet meer bereikt kan worden?

Een betere oplossing zou zijn om de website verbinding met de database te laten maken via de firewall. Middels remote IP en destination IP kun je een heel eind komen. Een andere oplossing is om jouw website in hetzelfde netwerk te plaatsen als de bestaande PHP website en database.

Als we het hier hebben over een c# development applicatie en een PHP prodyctie website. Maak dan even een backup van de productie database en restore die dan op je eigen lan (of computer).

If it isn't broken, fix it until it is..

Pagina: 1