[CentOS-es] Conexion Centos y SQL Server

Luis T reywes en gmail.com
Mie Jun 28 02:37:31 UTC 2017


Estimados,

Gracias por responder, voy revisar la información que me enviaron. Como les
digo tengo problemas en la conexión con el script de PHP y tengo instalada
la versión 7.1 nose si solo es compatible con la versión PHP 5.5. Lo que si
es que al momento de digitar en la consola de CentOS: *sqlcmd -S
172.10.10.50 -U user -P 123456* se conecta sin problemas y tengo acceso a
las bases de datos del SQL Server y consultar datos de las tablas. Voy a
seguir revisando para ver donde esta el problema.


Saludos,

Luis

2017-06-27 19:48 GMT-05:00 Aland Laines <aland.laines en gmail.com>:

> 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
> >
> _______________________________________________
> 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