Professional Documents
Culture Documents
Linux Centos 5
Esta fue una de esas ideas locas de probar conexiones a MS SQL SERVER con PHP desde mi
servidor web Linux mediante UnixODBC a un Servidor Windows.
Requerimiento
UnixODBC http://www.unixodbc.org/drivers.html
FreeTDS http://www.freetds.org
PHP http://www.php.net
Instalando UnixODBC
view plainprint?
En el encontre que necesitaba librerias *.so, para entablar una conexion usando un DSN,
manos a la obra como dice en la pagina de unixodbc habia que instalar un FreeTDS
Instalando FreeTDS
view plainprint?
ahora una vez instalado ya tenemos las librerias FreeTDS para hacer conexion con base de
datos Sysbase y MsSql Server.
Editamos el archivo freetds.conf, es en este archivo donde debemos agregar nuestros alias
que manejaremos para nuestras conexion a los diferentes servidores Ms SqlServer que
tengamos en la red.
view plainprint?
1. vi /etc/freetds.conf
view plainprint?
Editemos el archivo locales.conf, Es bastante comun que necesitemos configurar el manejo del
formato de fechas en nuestro servidor, para que php nos devuelva el formato como mejor nos
parezca.
view plainprint?
1. vi /etc/locales.conf
view plainprint?
1. [default]
2. date format = %d/%m/%Y %H:%M:%S
3. #[default_orig]
4. #date format = %b %d %Y %I:%M%p
necesitamos configurar el archivo odbcinst.ini para referenciar las librerias y que estas puedan
ser usadas a la hora de utilizar una conexion ODBC.
view plainprint?
1. vi /etc/odbcinst.ini
view plainprint?
1. ODBCConfig
Finalmente como resultado en el odbc.ini tendras esto.
view plainprint?
1. vi /etc/odbc.ini
view plainprint?
1. [EESA]
2. Description = FreeTDS
3. Driver = FreeTDS
4. Servername = MyServer70
5. Server = server2000
6. Address = 172.16.0.253
7. Port = 1433
8. Database = dbeesa
9. TDS_Version = 7.0
10. Language = us_english
11. TextSize =
12. Domain =
13. PacketSize =
14. [miconexion]
15. Description = MySQL
16. Driver = MySQL
17. Server = localhost
18. Database = mysql
19. Port = 3306
20. Socket =
21. Option =
22. Stmt =
1. isql -v EESA sa
Codificando PHP
Solo nos falta la prueba final hacer conexion php usando funciones ODBC.
view plainprint?
view plainprint?
1. <?php
2. //conexion a la bd
3. $connection = odbc_connect('EESA', $user, $pass) or die('No pudo crear una conexión'
);
4. $sqlquery="select titleofcourtesy,firstname,lastname from Northwind..employees" ;
5. //odbc_exec($connection, $sqlquery);
6. $cur=odbc_exec($connection,$sqlquery);
7. print"
8. "; while(odbc_fetch_row($cur)){ //colleccion resultados $nombre=odbc_result($cur,2);
$apellido=odbc_result($cur,3); //format and display results print ("$nombre"); print ("$
apellido"); } print "<table></table>";
9. //cerrando la conexion
10. odbc_close($connection);
11. ?>
bueno ver para creer, ahi esta la prueba ahora no te olvides de compartir.
Publicadas por Superahacker
Enviar esto por correo electrónico BlogThis! Compartir en Twitter Compartir en Facebook
Compartir en Google Buzz
Etiquetas: centos, FreeTDS, Linux, UnixODBC