Aller au contenu

Odbc Et Php Du Synology


Messages recommandés

Bonjour,

J'ai un 713+, j'aurai besoin que mes fichiers php puisse se connecter a SQL Serveur.

Pour cela je pense (corrigez moi si je me trompe) qu'il n'est possible de le faire qu'avec une connexion ODBC.

Ma question est donc comment installer les drivers ODBC sur mon synology.

Quelqu'un a t il un tuto, un lien.

Merci d'avance

PS: Soyez indulgent je débute.

Lien vers le commentaire
Partager sur d’autres sites

Merci de ta réponse

Si, elle est incluse dans le php du syno, je l'avais vu, par contre il me semble qu'elle est obsolette à partir de php5.3 et a été remplacé par sqlsvr, c'est pour ca que je n'ai pas regardé de son coté.

voir ici: http://stackoverflow...g-as-of-php-5-3

sqlsvr lui n'a pas de driver linux.

Il me reste donc ODBC, d'ou m'a question.

PS: j'ai passé beaucoup plus de 5s sur google avant de poster ma question :)

EDIT: je viens de retrouver la doc qui confirme ce qu'il me semblait bien.

http://php.net/manual/en/intro.mssql.php

Modifié par gilles_906
Lien vers le commentaire
Partager sur d’autres sites

This extension is not available anymore on Windows with PHP 5.3 or later.

Elle n'est pas obsolète sinon ce serait marqué dans la documentation de PHP.

C'est juste que l'extension SQL Server est maintenant fournie par Microsoft mais pour Windows uniquement

PHP laisse donc Microsoft gérer cette extension et ne maintient plus les versions Windows de mssql.

Pour tous les autres systèmes (non Microsoft donc), il faut utiliser l'extension mssql fournie par PHP.

As-tu essayé de connecter PHP à SQL Server avec mssql ?

Lien vers le commentaire
Partager sur d’autres sites

Bon ben j'ai essayé comme cela:


$server='xxx.xxx.xxx.xxx:1433';

$conn = mssql_connect($server,'MonLogin','pass');

voila ce que cela donne

Warning: mssql_connect(): Unable to connect to server: xxx.xxx.xxx.xxx:1433 in /volume1/web/Android/essai.php on line 5

et voila comment sql server reponds dans le fichier log

12/01/2012 17:35:36,,Inconnu,Erreur : 17832<c/> Gravité : 20<c/> État : 15.

12/01/2012 17:35:36,,Inconnu,The login packet used to open the connection is structurally invalid; the connection has been closed. Please contact the vendor of the client library. [CLIENT : 192.168.0.1]

Des avis sur la question?

EDIT: Comment puis je faire pour acceder au fichier php.ini?

Modifié par gilles_906
Lien vers le commentaire
Partager sur d’autres sites

12/01/2012 17:35:36,,Inconnu,The login packet used to open the connection is structurally invalid; the connection has been closed. Please contact the vendor of the client library. [CLIENT : 192.168.0.1]

Quelle version de SQL Server utilises-tu ?

mssql n'est apparemment plus compatible avec les versions récentes de SQL Server.

J'ai testé la chose et j'ai obtenu les mêmes résultats que toi.

À ta place, je contacterais le support Synology pour savoir s'ils ont testé cette extension, car en cherchant (un peu) je n'ai trouvé personne n'ayant réussi à la faire fonctionner.

Lien vers le commentaire
Partager sur d’autres sites

Merci de ton aide également Piwi même si je n'aime pas ta réponse <_< j'ai bien peur que tu ai raison.

j'utilise sql server 2012 express

A force de chercher, je suis tombé sur FreeTDS qui apparament est un driver odbc, quelqu'un l'a t il installé sur un syno? ca marche?

Je vais poser la question au support, on ne sais jamais.

Lien vers le commentaire
Partager sur d’autres sites

merci de ta réponse Patrick

Mais je pense que tu parles de Mysql comme base, je parle moi de Sql Server

Normalement le driver mssql devrait me permettre la connexion, sauf qu’apparemment ils n'envoie pas le bon format pour le couple (login pass)

meaculpa

je sors

désolé

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

As-tu regardé du côté de la classe PDO ? A priori la connexion à MSSql est encore "expérimentale" mais ca peut éventuellement répondre à ton besoin.

http://php.net/manual/fr/intro.pdo.php

http://php.net/manua...f.pdo-dblib.php

Modifié par psuken
Lien vers le commentaire
Partager sur d’autres sites

Bonjour psuken, merci de t' interresser a mon problème.

Pour pdo il n'y a pas grand chose d'installé dans la version php que j'ai sur mon syno (la 4.1 - 2661) php version 5.3.15

En fait il n'y a que pdo_mysql

Si effectivement mssql est "expérimentale" il ne me reste de FreeTDS d'ailleurs ton deuxième lien parle de lui.

D'aprés ce que j'ai compris les drivers pdo sont a l'intérieur de la bibiotheque FreeTDS.

Es t il possible d'installer FreeTds sur mon syno (713+) si oui comment.

Merci

Modifié par gilles_906
Lien vers le commentaire
Partager sur d’autres sites

A ta place j'essayerai quand même d'installer le PECL PDO

http://pecl.php.net/package/PDO_DBLIB : This extension provides a FreeTDS/Sybase/MSSQL driver for PDO.

En ce qui concerne FreeTDS, jette un coup d'oeil sur le manuel :

http://freetds.schem...ide/install.htm

In the case of a library package such as FreeTDS To install the package is to copy the files the application developer will use to their canonical locations: header files to include, libraries to the lib, documentation and man pages share.

Modifié par psuken
Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Voila ou j'en suis:

J'ai installé ipkg

j'ai chargé et installé freetds avec ipkg

Maintenant je suis a la recherche du fichier freetds.conf, quelqu'un sais t'il ou il se trouve sur le syno?

Bizarrement je ne trouve pas non plus le dossier freetds, pourtant il est bien installé.

Faut il rajouter une adresse a monter (comme pour ipkg)?

Merci de votre aide par avance

Lien vers le commentaire
Partager sur d’autres sites

Me revoilà pour vous donner la réponse du service technique de Synology:

The developer found if we added "putenv("FREETDSCONF=/usr/syno/etc/freetds.conf");" at the opening in the /volume1/web/test.php. It will work fine.

Therefore, we will key in this feature into our feature request database for our developer to do future analysis and evaluation. So it may have chance to be supported in the future DSM releases.

J'avoue que je n'ai pas bien compris ce qu'il voulait dire.

Sauf qu'il fallait attendre la prochaine version :wacko:

Lien vers le commentaire
Partager sur d’autres sites

Apparemment ça fonctionne en procédant comme suit :

  • créer un fichier freetds.conf dans /usr/syno/etc/
  • créer la variable d'environnement FREETDSCONF en ajoutant la ligne suivante au début du script PHP :

putenv("FREETDSCONF=/usr/syno/etc/freetds.conf");

Y a plus qu'à tester. :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Me revoila pour vous donner des nouvelles.

Le service tech de Syno m'a envoyé le fichier freetds.conf, ce n'est pas le meme que celui qu'installe ipkg.

Et maintenant ca marche :)

pour ceux que ca interresse voila le fichier, il faut renseigner l'adresse du pc (ici 192.168.0.90) qui contient sql server.

En rouge ce qu'il manque dans freetds.conf

# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".
# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
; tds version = 4.2
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
host = 192.168.0.90
port = 1433
tds version = 7.0
text size = 64512
# A typical Sybase server
[egServer50]
host = symachine.domain.com
port = 5000
tds version = 5.0
# A typical Microsoft server
[egServer70]
host = 192.168.0.90
port = 1433
tds version = 7.0

Merci à tous ceux qui ont participé à cette discussion.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.