la connexion à un serveur de base de données en utilisant les fonctions fsockopen ou douille et l'émission de commandes

StackOverflow https://stackoverflow.com/questions/7302273

Question

Comment pouvons-nous connecter à un serveur de base de données en utilisant un langage de programmation en utilisant les fonctions de socket. Je pense comme les protocoles. Par exemple smtp, http, ftp, imap. nous nous connectons à ces ports et nous émettons comands (exécuter des commandes). Comme ceux-ci est-il possible de se connecter à un serveur de base de données (le port est 3306) et nous pouvons émettre des commandes qui peuvent exécuter diverses fonctionnalités comme DDL, DML, TCL.

Comme les gens disent serveur de base de données que je pensais à cela comme il devrait faire une possibilité à ce que je pense au lieu d'utiliser la programmation des fonctions SQL liés à la langue comme mysql_connect, mysql_select ou mysql_query ...

Je voudrais avoir des suggestions, des réponses et des références. peut-être je ne suis pas en utilisant la chaîne de recherche pertinente dans Google pour trouver des informations pour cela.

Était-ce utile?

La solution

Vous aurez besoin de communiquer avec les serveurs en utilisant leurs protocoles (personnalisés).

Pourquoi voudriez-vous réimplémenter ces protocoles bien? À moins que ce n'est que la curiosité académique, vous êtes beaucoup mieux en utilisant toutes les bibliothèques DB fournisseurs d'alimentation.

Les fonctions dont vous parlez (mysql_connect, mysql_query, ...) agissent essentiellement sur une prise brute, mais ils connaissent le protocole. Ils prennent une requête SQL, et ils prennent une prise et ils traitent la requête dans les bonnes données à envoyer.

Protocoles sur des choses comme les serveurs DB vont être lisible non humain. Le HTTP est assez clair et par rapport à un protocole conçu pour la petite taille et l'analyse syntaxique stricte. À moins que vous absolument besoin, j'éviter de réinventer la roue.

Autres conseils

"Vous ne le faites pas". À moins qu'un service particulier documente son protocole comme une API publique, cela est risqué, difficile, et enclin à se briser à tout moment. Le protocole pourrait même inclure des éléments spécifiquement destinés à faire ce disque. Vous pouvez, bien sûr, Wireshark et désosser le protocole, mais vous ne savez jamais sûr que la définition ne comprend pas «Le changement septembre de 22 tous les Q de R à.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top