Error!: could not find driver con pdo php

Publicado por Lucas
hace 7 años

La cuestión es simple, debo realizar una conexion con postgresql y otra con sqlserver con pdo en php para obtener datos, pero al querer conectarme aparece, utilizando mssql, sqlsrv y pgsql "Error!: could not find driver". <br /><br />Una vez instalado xampp, modifiqué php.ini para que inicie lo mencionado. Phpinfo() muestra: PDO drivers mysql, odbc, pgsql, sqlite; mientras que aparecen 2 items más abajo que muestran: <br /><span>pdo_pgsql y pgsql.<br /></span><br />Probé usando pg_connect () o algo así que permite conectarse con postgresql y funciona. El problema es que al no usar pdo no me sirve.<br /><br />Entonces probé usando odbc, pero menciona que el origen de datos no fué especificado y algo más.<br /><br />¿tienen idea de como solucionar eso? Busqué por miles de sitios pero ninguno la acierta.  Les agradezco.<br /><h2><a></a></h2>

Respuesta de David Martín Bermudez
hace 7 años

A fin de descartar un error de configuración ¿Podrías describir el proceso realizado para habilitar PDO?<div><br /></div>

Respuesta de Lucas
hace 7 años

<p>Pude solucionarlo. Sucede que soy algo novato con esto.</p><p>Faltaba configurar odbc desde su menú para que pueda conectarme con la base de datos.</p><p>La cadena postgresql quedó así:</p><p>$conexion_postgresql = new PDO("odbc:Driver={PostgreSQL UNICODE};Server=$servidor;Port=5432;Database=$bd;<br />Uid=$usuario;Pwd=$contrasenia;");</p><p><br /></p><p>mientras que la de sqlserver (ambas con odbc):</p><p>$conexion_sqlserver = new PDO("odbc:Driver={SQL Server};Server=$servidor;Database=$bd",$usuario,<br />$contrasenia);</p><p><br /></p><p><a href="http://www.maestrosdelweb.com/editorial/odbc-y-php-en-7-pasos/" rel="nofollow">Esta página</a> me llevó a su configuración parcial, porque después fuí guiandome solo. Entonces creé dos configuraciónes, una para postgresql unicode y otra para sqlserver.</p><p>La sintaxis de las cadenas de conexión las obtuve de <a href="https://www.connectionstrings.com/" rel="nofollow">esta página</a><br /></p>