[CentOS-es] Conexion Centos y SQL Server

Aland Laines aland.laines en gmail.com
Mie Jun 28 00:48:29 UTC 2017


Hola nuevamente,

http://php.net/manual/es/sqlsrv.requirements.php

aunque dice que tiene soporte en linux:

https://docs.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver#operating-systems

anota que soporta estas distros


   - Ubuntu 15.04 (64-bit)
   - Ubuntu 16.04 (64-bit)
   - Red Hat Enterprise Linux 7 (64-bit)

debes de utilizar la version correctar del driver, en tu phpinfo: te
muestra el driver sqlsrv instalado?


Saludos..




El 27 de junio de 2017, 18:21, Elio Bastias, Project Managers <
elio.bastias en gmail.com> escribió:

> Buenas tardes, Luis,
> Mira con respecto al error, lo que rescato es "Login timeout", lo que
> parece que ni encuentra la db, lo que intentaría sería colocar el data
> source name (dsn), como lo recomienda el sitio (
> https://docs.microsoft.com/en-us/sql/connect/php/connection-options), lo
> importante también es que si se instalo bien el driver (
> https://www.microsoft.com/download/details.aspx?id=20098), y saber bien la
> versión que tenes instalada de PHP, lo que te recomendaría sería ir a PDO,
> ya que te permite tener una capa de abstracción de las DB, y no preocuparte
> cuando manejes diferentes tipos de DB ó migres a otro.-
> También tene en cuenta la sintaxis que te da php:
> <?php
> $serverName = "serverName\sqlexpress"; //serverName\instanceName
> $connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>
> "password");
> $conn = sqlsrv_connect( $serverName, $connectionInfo);
>
> if( $conn ) {
>      echo "Conexión establecida.<br />";
> }else{
>      echo "Conexión no se pudo establecer.<br />";
>      die( print_r( sqlsrv_errors(), true));
> }
> ?>
> ya que en $serverName, te pide el nombre del servidor y no una IP, por
> ejemplo por hay no esta resolviendo la IP con el nombre de la Db, ya que
> por lo que entiendo vos estas en un CentOS y la DB en un windows así que
> puede llegar a ser ese el problema, para decirte me apoyo en el mensaje de
> error "Server is not found or not accessible. Check if instance name is
> correct and if SQL Server is configured to allow remote connections"
>
> Espero haberte dado una mano, y sino comenta como lo solucionaste para que
> otros lo puedan tener en cuenta.-
> Saludos
>
>
> El 27 de junio de 2017, 18:24, Luis T <reywes en gmail.com> escribió:
>
> > Estimado Aland,
> >
> > Gracias por responder, he instalado algunas librerias para ver si
> funciona.
> > El escenario que tengo es por un lado el Server SQL 2014 y por otro el
> > CentOS 7.3 con PHP 7.1 necesito conectarme desde CentOS a la base de
> datos
> > de SQL Server. Probe la conexion remota hacia el SQL Server y funciona OK
> > desde otro Windows. Hice una prueba desde Centos hacia Windows Server con
> > el comando sqlcmd -S <IP> -U <USUARIO> -P <PASSWORD> y se conecta sin
> > problema incluso puedo consultar datos de las tablas. Me presenta el
> > siguiente error:
> >
> > Conexión no se pudo establecer.
> > Array ( [0] => Array ( [0] => HYT00 [SQLSTATE] => HYT00 [1] => 0 [code]
> =>
> > 0 [2] => [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login
> timeout
> > expired [message] => [unixODBC][Microsoft][ODBC Driver 13 for SQL
> > Server]Login timeout expired ) [1] => Array ( [0] => 08001 [SQLSTATE] =>
> > 08001 [1] => 10013 [code] => 10013 [2] => [unixODBC][Microsoft][ODBC
> Driver
> > 13 for SQL Server]TCP Provider: Error code 0x271D [message] =>
> > [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: Error
> > code 0x271D ) [2] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] =>
> 10013
> > [code] => 10013 [2] => [unixODBC][Microsoft][ODBC Driver 13 for SQL
> > Server]A network-related or instance-specific error has occurred while
> > establishing a connection to SQL Server. Server is not found or not
> > accessible. Check if instance name is correct and if SQL Server is
> > configured to allow remote connections. For more information see SQL
> Server
> > Books Online. [message] => [unixODBC][Microsoft][ODBC Driver 13 for SQL
> > Server]A network-related or instance-specific error has occurred while
> > establishing a connection to SQL Server. Server is not found or not
> > accessible. Check if instance name is correct and if SQL Server is
> > configured to allow remote connections. For more information see SQL
> Server
> > Books Online. ) )
> >
> > La conexion PHP que tengo es:
> >
> > <?php
> >   $serverName = "172.10.10.50"; //serverName\instanceName
> >   $connectionInfo = array( "Database"=>"TEST", "UID"=>"user",
> > "PWD"=>"123456");
> >   $conn = sqlsrv_connect( $serverName, $connectionInfo);
> >
> >   if( $conn ) {
> >     echo "Conexión establecida.<br />";
> >     }else{
> >     echo "Conexión no se pudo establecer.<br />";
> >     die( print_r( sqlsrv_errors(), true));
> >   }
> > ?>
> >
> > Esto se puede deber algun error de sintaxis en el sqlsrv_connect??
> >
> >
> > Saludos,
> >
> > Luis
> >
> >
> >
> > 2017-06-27 12:26 GMT-05:00 Aland Laines <aland.laines en gmail.com>:
> >
> > > Hola Ojo que estas con dos cosas distintas.. has instalado mssql, pero
> > > quieres usar sqlsrv_connect, lo cual esta mal, lo correcto es usar
> > > http://php.net/manual/es/function.mssql-connect.php, otra cosa revisa
> la
> > > version de php que estas usando en el servidor en algunas tiene
> problemas
> > > de compatibilidad y en otras esta deprecated.
> > >
> > > Un abrazo..
> > >
> > >
> > >
> > >
> > > El 23 de junio de 2017, 16:30, Efraín Déctor <
> efraindector en motumweb.com>
> > > escribió:
> > >
> > > > Que raro.
> > > >
> > > > Checa esta respuesta: https://stackoverflow.com/a/43687495
> > > >
> > > >
> > > > El 23/06/2017 a las 04:20 p. m., Luis T escribió:
> > > >
> > > >> Hola Efraín,
> > > >>
> > > >> Si realice la instalacion de php-mssql. de hecho en CentOS me
> aparece
> > > >> esto:
> > > >>
> > > >> Inline image 1
> > > >>
> > > >> Nose si es un error en la sintaxis del sqlsrv_connect aunque ya he
> > > >> probado varios ejemplos que estan en la web y no doy con el error.
> > Nose
> > > que
> > > >> pueda estar afectando la conexion.
> > > >>
> > > >>
> > > >> Saludos,
> > > >>
> > > >> Luis
> > > >>
> > > >> 2017-06-23 16:11 GMT-05:00 Efraín Déctor <efraindector en motumweb.com
> > > >> <mailto:efraindector en motumweb.com>>:
> > > >>
> > > >>
> > > >>     Hola.
> > > >>
> > > >>     Seguro que instalaste php-mssql (yum install php-mssql) ?
> > > >>
> > > >>     Saludos
> > > >>
> > > >>
> > > >>     El 23/06/2017 a las 03:13 p. m., Luis T escribió:
> > > >>
> > > >>>     Hola Efraín,
> > > >>>
> > > >>>     Gracias por tu respuesta, sabes que sigue todos los pasos pero
> no
> > > >>>     me permite conectar la base SQL. Habilite la conexion remota
> del
> > > >>>     SQL, desactive firewall. Probe con las tres opciones de
> conexion
> > > >>>     pero nada, por telnet si se establece la conexion. Este momento
> > > >>>     estoy usando esto:
> > > >>>
> > > >>>     <?php
> > > >>>     $serverName = "172.10.10.50\SQL2014, 1433";
> > > >>>     //serverName\instanceName, portNumber (default is 1433)
> > > >>>     $connectionInfo = array( "Database"=>"PRUEBA", "UID"=>"user1",
> > > >>>     "PWD"=>"123456");
> > > >>>     $conn = sqlsrv_connect( $serverName, $connectionInfo);
> > > >>>
> > > >>>     if( $conn ) {
> > > >>>          echo "Connection established.<br />";
> > > >>>     }else{
> > > >>>          echo "Connection could not be established.<br />";
> > > >>>          die( print_r( sqlsrv_errors(), true));
> > > >>>     }
> > > >>>     ?>
> > > >>>
> > > >>>     Revise los logs y me aparece esto:
> > > >>>
> > > >>>     PHP Fatal error:  Call to undefined function sqlsrv_connect()
> in
> > > >>>     /var/www/html/prueba.php on line 4
> > > >>>
> > > >>>     Toda la configuracion la realice tal como esta en el tutorial,
> > > >>>     nose si hay algun error de sintaxis o es necesario habilitar
> algo
> > > >>>     en Windows o Centos.
> > > >>>
> > > >>>     Cualquier ayuda de antemano gracias.
> > > >>>
> > > >>>
> > > >>>     Saludos,
> > > >>>
> > > >>>     Luis
> > > >>>
> > > >>>
> > > >>>     2017-06-22 14:43 GMT-05:00 Efraín Déctor
> > > >>>     <efraindector en motumweb.com <mailto:efraindector en motumweb.com
> >>:
> > > >>>
> > > >>>         Que tal.
> > > >>>
> > > >>>         Primero que nada en Centos necesitas instalar php-mssql que
> > > >>>         está en el repositorio EPEL.
> > > >>>
> > > >>>         Para la conexion en PHP sigue la documentación oficial:
> > > >>>         http://php.net/manual/es/function.sqlsrv-connect.php
> > > >>>         <http://php.net/manual/es/function.sqlsrv-connect.php>
> > > >>>
> > > >>>
> > > >>>         Saludos
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>         El 22/06/2017 a las 02:36 p. m., Luis T escribió:
> > > >>>
> > > >>>             Estimados,
> > > >>>
> > > >>>             Tengo desarrollado una aplicacion PHP en un Centos 7 y
> > > >>>             necesito conectarlo
> > > >>>             a un servidor SQL Server donde tengo una base de datos,
> > > >>>             para poder
> > > >>>             almacenar ahi la informacion. He buscando en internet
> > > >>>             informacion pero
> > > >>>             todavia no lo tengo bien claro. Alguien que me pueda
> > > >>>             indicar cual es la
> > > >>>             mejor forma para realizar esto, de antemano agradezco
> sus
> > > >>>             respuestas,
> > > >>>             gracias.
> > > >>>
> > > >>>
> > > >>>             Saludos,
> > > >>>
> > > >>>             Luis
> > > >>>             _______________________________________________
> > > >>>             CentOS-es mailing list
> > > >>>             CentOS-es en centos.org <mailto:CentOS-es en centos.org>
> > > >>>             https://lists.centos.org/mailman/listinfo/centos-es
> > > >>>             <https://lists.centos.org/mailman/listinfo/centos-es>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>
> > > >>
> > > > _______________________________________________
> > > > CentOS-es mailing list
> > > > CentOS-es en centos.org
> > > > https://lists.centos.org/mailman/listinfo/centos-es
> > > >
> > > _______________________________________________
> > > CentOS-es mailing list
> > > CentOS-es en centos.org
> > > https://lists.centos.org/mailman/listinfo/centos-es
> > >
> > _______________________________________________
> > CentOS-es mailing list
> > CentOS-es en centos.org
> > https://lists.centos.org/mailman/listinfo/centos-es
> >
>
>
>
> --
> Elio Bastias
> Project Manager
> Smart - IT
> |Open Source Innovation | Open Source Communications
> Estrategia y Management en Comunicaciones e Infraestructurade IT
>
> |Gtalk/Mail: consultor en eliobastias.com.ar
>
> |Soporte & Mantenimiento ->http://goo.gl/BEvg73
>
> |-----------------------------------------------------------
> -------------------------------------
> Los precios cotizados por el equipamiento están expresados en Dólares
> Estadounidenses e incluyen todos los impuestos vigentes que gravan este
> tipo de operaciones, excepto el Impuesto al Valor Agregado (I.V.A.) que, en
> caso de corresponder, será adicionado en el porcentaje que establezca la
> ley al momento de realizar la facturación. Los precios resultantes de la
> presente serán pagaderos en dólares estadounidenses billete o en su defecto
> en pesos, según cotización del dólar libre tipo vendedor del Banco de la
> Nación Argentina del día inmediato anterior al de efectivo pago.
> Referencia: www.bna.com.ar
> |-----------------------------------------------------------
> -------------------------------------
> Este mensaje y, en su caso, sus archivos adjuntos, son informaión
> confidencial enviada para uso exclusivo de su destinatario. Está
> terminantemente prohibida la lectura, copia, duplicado o reenvío de esta
> información por parte de cualquier persona distinta del destinatario. Si
> usted ha recibido este mensaje por error, por favor elimínelo e informe de
> inmediato a su remitente.
> |-----------------------------------------------------------
> -------------------------------------
> Antes de imprimir, pensá en tu responsabilidad y compromiso con el MEDIO
> AMBIENTE.-
> _______________________________________________
> CentOS-es mailing list
> CentOS-es en centos.org
> https://lists.centos.org/mailman/listinfo/centos-es
>


Más información sobre la lista de distribución CentOS-es