Question

Je currrently fais des requêtes à mon SQL Server à l'aide SQLCMD et je lance cette fonction de phps exec (). J'espérais préciser que ce ne soit pas aussi efficace que le pilote pour SQL Server pour PHP: http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx . Je ne sais pas si cela est le même que http: //us3.php. net / manuel / en / book.mssql.php ?

Je trouve que chaque fois que je lance une commande exec est une réponse lente tout à fait et j'espérait obtenir ce confirmé avant de passer à ce nouveau pilote et le mettre en œuvre. Y at-il une différence de performance en utilisant ce pilote plutôt que d'utiliser la fonction exec pour lancer SQLCMD?

Je sais que c'est un peu moelleux, mais j'apprécie vraiment l'aide sur cette décision.

Merci à tous

Était-ce utile?

La solution

lancer une autre commande, en utilisant exec ou une de l'autre l'exécution du programme Fonctions , prend du temps; en utilisant une fonction PHP / cours sera probablement toujours plus rapide - et plus facile:

  • pas besoin de lancer une autre commande
  • pas de problème pour passer des paramètres
  • pas de parsing la sortie: vous obtiendrez des données PHP natif en tant que sortie
  • moins de problèmes comme "command not found", ou les différences entre UNIX / Linux et Windows
  • aucun problème avec safe_mode et comme

Je definitly aller avec une fonction à l'aide fournie par une extension PHP, au lieu d'utiliser exec.


En tant que sidenote, dans ce cas précis:

  • le pilote SQL Server pour PHP est actuellement disponible sur les plateformes Windows - n'existe pas pour Linux: - (
  • il n'est pas disponible en tant que pilote PDO: vous devez utiliser les fonctions de sqlsrv_* spécifiques

Autres conseils

Ugg, ouais, se débarrasser de votre exec et utilisez la bibliothèque client php. Vous aussi ne pas avoir à traiter avec l'analyse de vos jeux de résultats en retrait de la ligne de commande.

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