[CentOS-es] Conexion Centos y SQL Server

Elio Bastias, Project Managers elio.bastias en gmail.com
Mie Jun 28 11:08:51 UTC 2017


Luis,
Buenos días,

si bien desde la consola de CentOS tenes conectividad a la DB que esta en
un Windows, no tiene nada que ver, por que los parametros de configuración
del comando de línea es uno y los del script son otros, por ejemplo en el
script tenes que pasar un array asociativo mientra que en el comando de
línea no.-

Así que te sugiero revises la configuración del php.ini si esta todo lo
necesario para soportar el conector de la db de MS SQL Server, y fíjate
también si esta configurado el acceso remoto a aplicaciones en este caso
del script.- y Te sugiero que pruebes con el poniendo el nombre del
servidor como se ve en windows y el nombre de la db como se ve en el
MSSQLServer.-

Sin más,
Saluda Atte.,
Eb

El 27 de junio de 2017, 23:37, Luis T <reywes en gmail.com> escribió:

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