Comunidad de diseño web y desarrollo en internet online

problemas para conectarse a MS-SQL Server 2008 desde PHP

Citar            
MensajeEscrito el 18 Abr 2012 09:29 pm
Hola amigos

He estado toda esta semana tratando de hacer una conexion SQL Server 2008 con PHP, he intentado de todo hasta todos los LAMP que conozco asi como:

XAMPP, WAMP, AppServ y no mas no. Y creo que ya conozco el Error de cada uno de estos Servidores Web

XAMP, es una aplicacion conjunta que tiene Apache, PHP y MySQL y en su ultima version 1.7.7 con PHP 5.3.8 Apache 2.2 y phpMyAdmin.

Problema.- Actualmente XAMPP tiene problemas para correr las librerias php_mssql.dll segun dicen que esas librerias ya son obsoletas el cual existen unas nuevas con Microsoft Drivers 3.0 for SQL Server for PHP, cual contiene unas nuevas librerias, al agregarlas a su folder ext y configurar php.ini el servicio deja de correr y lo unico que dice al correr es que Acceso denegado: HTTP.exe pero al comentar las lineas en php.ini funciona nuevamente sin problemas.

WAMP de igual manera Apache, PHP y MySQL en su ultima version 2.2.

Problema.- Actualmente WAMPP tiene una muy buena interaz de manejo para reactivar servicios y modificar su direcorio y php.ini este cuenta con las librerias php_mssql.dll pero de igual forma es obsoleta pero este asu ves tiene un problema de administracion en phpMyAdmin ya que no se intala del todo tienes que dar localhost/phpMyadmin/install para ir a su configuracion pero no funciona

AppsServ, conjunta Apache, php y myQSL y en su ultima versio es obsoleta fuera de lo actual y con ese si funciona la librerias php_mssql.dll ya que su version si la soporte, pero el servidor web seria obsoleto.

Al final me quede con XAMPP ya que se instala sin problemas y todo esta actualmente, el unico problemas es que se friquea cuando mandas llamar librerias para SQL. Ya intente hacer con librerias de ADODB y ni asi.

Ya no puedo mas que puedo hacer, esto fue lo ultimo que hice el cual menciono al principio pero como repito al llamar la libreria trueba el apache.

http://www.forosdelweb.com/f142/conectarse-ms-sql-server-2008-desde-php-979188/

Espero puedan ayudarme por favor. :sueno:

Mi estado actual
Windows Server 2008 R2
XAMPP version 1.7.7

Saludos

Por kakashi2000

Claber

559 de clabLevel

5 tutoriales

Genero:Masculino  

Desarrollador de aplicaciones Web

chrome
Citar            
MensajeEscrito el 20 Abr 2012 09:17 pm
ya no hay soporte para php_mssql.dll , en su lugar existe una libreria php_sqlsrv.dll, es dependiente de un paquete llamado sqlclient ,

http://www.microsoft.com/download/en/details.aspx?id=20098

eso trabaja con sqlclient 12 u 11 no recuerdo bien (trabaja con win7 y winserver 2008)
"Microsoft Drivers 3.0 for SQL Server for PHP"
ahora si tu version de sqlclient es menor como 9 o 10(para winxp win7,2003 etc) , creo que necesitas
"Microsoft Drivers 2.0 for SQL Server for PHP"

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2012 02:37 pm
Gracias tuadmin

Sigo a un trabajando en esto y no logro conectarme a SQL server ya intente colocar los driver de sqlsrv.dll pero como(repito) algo no esta jalando bien que al reiniciar el equipo el apache ya no inicia.

Como puedo ver la version en la que trabaja el sqlclient? por medio del php info?

Gracias.

Por kakashi2000

Claber

559 de clabLevel

5 tutoriales

Genero:Masculino  

Desarrollador de aplicaciones Web

chrome
Citar            
MensajeEscrito el 23 Abr 2012 04:27 pm
estas seguro?? bueno los pasos eran primero
el archivo que te descargaste son unos 4 DLL
2 son para la version de PHP Thread Safe (generalmente lo usan los servidores apache)
y las otras dos son para los PHP No Thread Safe(cuando php se ejecuta en modo FastCGI)
esos DLL son agregados en la carpeta de las extensiones de PHP
luego tienes que habilitarlos mediante el PHP.INI

'Recuera que hay diferenbcias entre windows de 64Bits y 32 Bits, la version de PHP ''
primero que version de Windows exactamente tienes, la version de PHP y la version de APACHE, y como estas haciendo la conexion a MSSQL??

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2012 05:21 pm
Gracias tu admin

Mira te paso la informacion

Estos son los archivos que descargo de Microsoft 3.0


Esta es la version de mi PHP


Archivo php.ini


Directorio ext


Este es mi servidor


Y asi es como hago la conexion, pero no se ejecuta si el Apache no inicia.
// SQL Server
//$conexion=mssql_connect($hostname, $username, $pass)or die ("Error en sesion");
//mssql_select_db($nameBD, $conexion)or die ("Error en la BD del SQL Server");

:sueno:

Por kakashi2000

Claber

559 de clabLevel

5 tutoriales

Genero:Masculino  

Desarrollador de aplicaciones Web

chrome
Citar            
MensajeEscrito el 23 Abr 2012 05:22 pm
De la imagen del php.ini

me falto decir que ahi lo deje comentado por que asi me dije iniciar PHP si lo descomento aki la bronka no inicia PHP.

Gracias

Por kakashi2000

Claber

559 de clabLevel

5 tutoriales

Genero:Masculino  

Desarrollador de aplicaciones Web

chrome
Citar            
MensajeEscrito el 24 Abr 2012 08:46 pm
pero esto ya no sirve de nada

mssql_connect

recuerda que estas usando otra extension de php llamada sqlsrv

la forma de conexion tambien es distinta

http://msdn.microsoft.com/es-es/library/cc296161%28v=sql.90%29.aspx


prueba de nuevo
y ademas tienes que descomentar la extension que esta en php.ini, esta comentado con un punto y coma

Código :

;extension=php_sqlsrv_53_ts.dll
;extension=php_pdo_sqlsrv_53_ts.dll

deberia quedar asi para que puedas usar la extension sin problemas

Código :

extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Abr 2012 09:59 pm
Hola gracias tuadmin

Es cierto la conexion tiene que ser con el nuevo controlador, bien eso hare. Por otro lado la configuracion de las extensiones es correcto de hecho te lo mencionaba en el mensaje anterior.

Al decomentar la extension el Apache de XAMPP ya no inicia, si me explico osea si lo dejo comentado funciona

veras
Si asi lo dejo funciona el apache sin problemas

Código :

;extension=php_sqlsrv_53_ts.dll

;extension=php_pdo_sqlsrv_53_ts.dll


Si lo uso asi el apache ya no inicia al reiniciarlo.

Código :

extension=php_sqlsrv_53_ts.dll

extension=php_pdo_sqlsrv_53_ts.dll


Este es el punto donde no entiendo porque el apache se friquea al querer correr estas extensiones.

Por kakashi2000

Claber

559 de clabLevel

5 tutoriales

Genero:Masculino  

Desarrollador de aplicaciones Web

chrome
Citar            
MensajeEscrito el 25 Abr 2012 03:27 pm
mmm rarisimo , prueba viendo el archivo LOG que genera apache y tambien el archivo ERROR_LOG(no recuerdo los nombres ).

mmm creo que el problema esta en que las DLL que te pase son para version VC6 y tu usas VC9,
prueba buscando las dll
php_pdo_sqlsrv_53_ts_vc9.dl
php_sqlsrv_53_ts_vc9.dl

yo encontre esta supoingo que estara la otra tambien :) byee
http://websvn.projects.ez.no/wsvn/mssql/trunk/share/sqlsrv/php_pdo_sqlsrv_53_ts_vc9.dll?op=log&isdir=0

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Abr 2012 07:21 pm
Desde el principio.
IIS tiene algo llamado PHP MANAGER instalalo para que te evites erroes.

Del php.ini activa extension=php_pdo_odbc.dll (conexion nativa MSQL-php) linea 896 aprox
CAMBIAR DE: ;extension=php_pdo_odbc.dll
CAMBIAR A : extension=php_pdo_odbc.dll
SI no esta añadela
extension=php_pdo_odbc.dll

=> Reinicias IIS//

Para conectar PHP a MSQL por ODBC

Código PHP :

$servidor= "Driver={SQL Server};Server=localhost/ip;Database=base_de_datos;Integrated Security=SSPI;Persist Security Info=False;";
$conexion = odbc_connect( $servidor, 'USER', 'PASSWORD' );


Consulta SQL:

Código MySQL :

$sql= "SELECT * FROM la_tabla_a_consultar_info WHERE reglas ";


Como se ejecutaria:

Código PHP :

$do = odbc_exec( $conexion , $sql );
while ( $algo=odbc_fetch_row($do) { ?>
Hay que tener el HTML limpio :P <? echo $algo['aaaa']; ?> 
<? } ?>


Cabe destacar que MSQL tiene secuencias distintas a MySQL (que yo creo que conoces)
como por ejemplo no exite LIMIT 30 sino que es SELECT TOP 30 * FROM ... o BETWEEN 'algo' AND 'otro'
cualquier duda estamos en contacto yo ando creando un proyecto PHP+MSQL

Por dsalcedo

50 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 May 2012 03:08 pm
Gracias por su respuestas amigos y discúlpenme por la demora de este tema.

Desgraciadamente revise la ultima respuesta de dsalcedo y tuadmin disculpe por no responder si no hasta y es por que desafortunadamente me rendi no pude hacer la conexion a SQL Server desde PHP asi que decidi hacerlo en ASP.NET en C#.

No vatalle fue muy rapido(Entre comillas :sueno: ) pero pude sacar la aplicación y es por que ya me la pedían de ya y no me quedo de otra, ahora batalle para configurarlo en IIS pero salio y bueno ese es otro asunto.

De cualquier forma revisare lo que comenta dsalcedo la vdd que desconocía ese tema y espero pueda funcionar.

Otro proyecto que me toca es hacer conexión con LDAP :ownz: si con SQL Server no pude ahora menos con este :crap:

Gracias nuevamente amigos

Saludos cordiales

Por kakashi2000

Claber

559 de clabLevel

5 tutoriales

Genero:Masculino  

Desarrollador de aplicaciones Web

chrome
Citar            
MensajeEscrito el 02 Jun 2018 12:38 pm
en cuanto a base de datos te puedo recomendar ir a un sitio donde puedes obtener toda la información que necesites, espero te sea de ayuda.

Por Alexweb12

21 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.