Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Je reçois des données de chaîne, des erreurs de troncature à droite de PHP en utilisant ODBC et en me connectant à une instance Microsoft SQL Server 2008R2

Après de nombreux ajustements et recherches, et de nombreux dépannages ponctuels, j'ai finalement décidé qu'il s'agissait d'un problème de pilote ODBC.

Plus précisément, j'utilisais un pilote téléchargé à partir de Microsoft, censé fonctionner avec PHP et unixODBC sur RHEL/CentOS6. Il est connu sous le nom de "Microsoft ODBC Driver 11 for SQL Server" dans son propre fichier README et est fourni dans un fichier appelé msodbcsql-11.0.2270.0.tar.gz . (Ces détails sont fournis pour le bénéfice de toute autre personne essayant de faire la même chose)

À la lumière de mon expérience, je ne fais pas recommander ce pilote.

J'ai téléchargé, compilé et installé la dernière version "stable" de FreeTDS à la place. Si cela vous intéresse, la version que j'ai obtenue est la 0.91 (le fichier de téléchargement ne le dit pas, mais il se décompresse dans un répertoire portant ce numéro). Cela avait/a ses propres problèmes de configuration mineurs, mais semble finalement fonctionner beaucoup mieux que le pilote fourni par Microsoft. Je ne sais pas si cela est toujours activement maintenu, car les horodatages les plus récents dans la distribution étaient le 17 août 2011.

C'est idiot de penser que je devrais utiliser le pilote Microsoft pour accéder à un serveur de base de données Microsoft et m'attendre à ce qu'il fasse réellement ce qu'il dit qu'il fera.