Richard, estuve haciendo una simple prueba para tomar datos de la base en sqlserver y me da el siguiente error que adjunto.
No se si es que no puedo acceder o esta faltando algo, ya que lo del faltante del driver nunca me habia parecido.
La llamada a la fuente se hace de la misma manera que con una base postgres no? Te adjunto el error por pantall, el log del toba y el php dondo esta definido la llamada a la fuente.
Gracias por la ayuda.
tenes activada la extension de pdo para SQLServer?.. salvo que no este funcionando la misma, no te deberia estar dando este error.
Lo otro que te pediria y solo por chequear algo medio bizarro que ya ha pasado, los logs de toba se crean normalmente no? Supongo que si porque me pasaste la traza… pero solo para estar seguros, porque suele dar un error de bd (de ahi lo bizarro).
Richard, la extension pdo_odbc esta incluida, y es esa la que se corresponde con el sqlserver no? porque otra no encuentro. Los logs del toba estan funcionando correctamente, la carpeta logs dentro de i__desarrollo esta creada y con archivos de logs actualizados.
estas trabajando en windows o linux?.. para windows la extension que te pase en el post anterior deberia funcionar. Para linux en cambio tenes que usar odbc… pero en ese caso, te conviene cambiar el motor de la fuente de datos a obdc en toba y listo.
Richard, estoy trabajando en windows y pude instalar el driver. Pero el error sigue siendo el mismo. El php que tengo instalado es php-5.3.28 que lo instalae con este instalador (php-5.3.28-Win32-VC9-x86(2).exe).
Si bien en la guia que me pasaste dice “La versión más reciente del controlador está disponible aquí: » Descarga de SQLSRV 3.0. Si fuera necesario dar soporte paraor PHP 5.2 y/o PHP compilado con VC6, use la versión 2.0 del controlador: » Descarga de SQLSRV 2.0.” la que pude instalar es la 2.0. Con la 3.0 me da error y no encuentra un directorio.
Pero bueno, el error es el mismo. Cuando intento ehjecutar el driver 3.0 me pide un directorio, elijo el ext del php y me sale el error que adjunto.
en teoria tendrias que poder instalar la version 3.0… salvo que te falte algun requerimiento del SO, con respecto al error del directorio… es un instalador hecho por Microsoft, deberia funcionar correctamente… pero bue, a veces puede fallar. Probaste en algun otro directorio y despues copiando a mano la dll?
Lo otro que veo en esta pagina es que ademas de instalar el driver, tambien tenes que tener Microsoft SQL Server 2012 Native Client para la version 3.0.
Con respecto al tema de las librerias, justamente las que te faltan son las de SQL Server, tenes que agregarlas a php.ini. La de ODBC funciona solo cuando elegis como motor odbc.
Fijate que en la pagina que te pase, al final esta los nombres de las librerias que tendrias que tener para cada version de PHP y del Driver.
Richard, te cuento que pude instalar todo. El native client, la version 3.0 del driver tambien, la descargue en una carpeta particular que cree y luego los copie dentro de la carpeta ext del php. Adjunto como tengo el php ini ahora pobre con varias librerias. Y el error sigue siendo el mismo :(. Cabe aclarar que reinicié el apache por las dudas.
p/d: voy a probar levantar la base en mi localhost a ver si asi funciona, como para descartar alguna otra cosa rara
pense que lo estabas probando en tu propia maquina :D… bueno no importa, lo que si… en php.ini tenes una ensalada de extensiones importante. Unicamente deberias tener activas las que se corresponden con la version 3.0… osea:
Richard, luego de varios dias peleando con el sqlserver pude hacerlo andar en mi propia maquina, borre los que tenias de mas en el php.ini lo deje como me indicaste. Pero el error sigue siendo el mismo
Me doy por vencido con la fuente en sqlserver jeje
Con el toba no funciona. Sigue dando el mismo error de que no encuentra el driver.
Vamos a seguir probando, en base a tus recomendaciones deberia funcionar. Asi que vamos a seguir dandole pelea
bien, lo que intentaria yo es ver si puedo lograr una conexion manual via pdo, digamos… en lugar de usar la de toba… hacer un php plano que me permita testear la conectividad, para ver si efectivamente es un problema de php que no encuentra el driver o si hay algo mas, directamente relacionado con toba.
Fijate que en el editor (en la pantalla inicial) hay un link a una pagina de info, pasame lo que sale en esa pagina para ver si engancho algo relativo al driver de MSSQL, es medio hijoesumadre SQLServer… pero tampoco pa tanto.
Medio hijo de su madre si lo miras con un solo ojo jajajaja
vos sabes que teniamos problemas para conectarnos con un usuario nuevo que creamos, me dejaba conectarme unicamente con el usuario de windows y nos estaba judeando bastante. Pudimos hacerlo andar con otro pero si especificamos ese mismo en la fuente del toba, no le gusta.
Voy a probar lo que me sugeris y te cuento como me va.
Graciasss…
vos sabes que teniamos problemas para conectarnos con un usuario nuevo que creamos, me dejaba conectarme unicamente con el usuario de windows y nos estaba judeando bastante. Pudimos hacerlo andar con otro pero si especificamos ese mismo en la fuente del toba, no le gusta.
p/D: adjunto la info del php
Bueno aca hay dos temas, vamos por partes:
1.- Erroneamente asumi que tenias una version non thread safe y te mande a instalar esa extension en los post previos, de la info veo que es thread safe, sin embargo has sido mas inteligente que yo y te las rebuscaste para instalar la version correcta asumo, ya que aparece el driver listado. Leccion, no darme bola siempre, bien ahi pequeña saltamontes!
2.- El tema de tener problemas con el usuario nuevo, puede ser de permisos o del rol de ese usuario… digamos mas de configuracion del motor propiamente dicho, el problema de que no encontrara el driver era otra cosa, probablemente mi culpa luego de que te mande a activar la extension incorrecta.
No recuerdo si SQLServer tiene una gestion de conexiones al estilo postgres (pg_hba.conf) o si simplemente es la configuracion del usuario sin muchas mas vueltas. En cualquier caso, me ha pasado de tener mal configurado el nivel del usuario en postgres y que no pudiera loguear o acceder a distintos elementos, tambien he puteado cuando necesitaba scriptear algo y me quedaba mal configurado el metodo de autenticacion, asi que son un par de cosas a revisar al menos del lado del motor.
La conexion manual lo que te va a asegurar es si funciona o no el driver.