Conectando a una Base de Datos SQL2000 desde Linux

Si deseas tener SQL2000 administrado desde Linux, la opción recomendada es WinE, hasta donde sé, no hay forma de instalar directamente SQL 2000 sobre Linux,  salvo que uses RedHat pero esto es para conectar BD, mas NO para instalar SQL, puedes probar con ODBC, SyBase Client Library o Free TDS, yo me quedaria con éste último ya que las conexiones son mas transparentes.

 

Puedes descargar los RPMs de la página de FreeTDS o simplemente instala Apache, PHP4 y FreeTDS, ahora… si ninguno de estos te resulta, lo positivo de Linux es que puedes  compilar y crear tus propios paquetes.

 

Primero: Instalando el Webserver (Apache), PHP y FreeTDS

# tar xvfz httpd-2.0.47.tar.gz
# tar xvfz php-4.3.3.tar.gz
# tar -xvf freetds-0.61.tgz

 

Servidor Apache:

# cd httpd-2.0.47
# ./configure –enable-so
# make
# make install

 

Prueba si apache inicia correctamente: (lo que en Windows conocemos como Localhost)

# /usr/local/apache2/bin/apachectl start

 

Detenemos en forma manual el Servidor Web: (Esto en IIS de Windows es automático)

# /usr/local/apache2/bin/apachectl stop

 

Instalando PHP:

# cd ../php-4.3.3/
# ./configure –with-apxs2=/usr/local/apache2/bin/apxs
# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini

 

Te vas al siguiente archivo: httpd.conf (esta en la ruta /usr/local/apache2/conf) para comprobar  si las siguientes lineas te salen en esta forma:

LoadModule php4_module libexec/libphp4.so
AddType application/x-httpd-php .php

 

La segunda linea de no aparecer ponla en forma manual

 

Levanta de  nuevo el webserver:

# /usr/local/apache2/bin/apachectl start

 

Ahora genera un archivo raiz en el archivo httpd.conf que se encuentra en DocumentRoot y lo guardas con el nombre que tu quieras, por ejemplo: test.htm, esto es para probar si todo esta ok.

 

phpinfo();
?>

SI todo va bien te aparecerá la informacion del PHP (lo mismo que hacemos en Windows al poner LOCALHOST y nos muestra las dos ventanas de IIS)

 

 Ahora viene lo mas interesante: Instalar FreeTDS:

# /usr/local/apache2/bin/apachectl stop
# cd /usr/local/freetds-0.61.2/
# ./configure –prefix=/usr/local/freetds
# make
# make install

 

Ahora, llegó el momento de crear el enlace con SQL2000, pongamos que tu PC tiene el número IP 192.168.1.2 y haremos el ejemplo con este IP, que puedes reemplazar con el IP respectivo de tu PC, llamaremos a la BD¨»jelp«.

# Conexion a MS-SQL Server 2000
[jelp]
host = 192.168.1.2
port = 1433
tds version = 8.0

 

Ahora, toca compilar PHP para que incluya a FreeTDS, siempre debes detener el servicio de Apache para cualquier modificacion, sino, sería como tratar de cambiar la llanta de un auto que esta en pleno movimiento:

# /usr/local/apache2/bin/apachectl stop
# cd /usr/local/php-4.3.3/
# ./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-sybase=/usr/local/freetds
# make
# make install
# /usr/local/apache2/bin/apachectl start

Lo único que hemos agregado fue la compatibilidad con Sybase: –with-sybase=/usr/local/freetds


Ahora, este ya es un campo que dejo en manos de los expertos en SQL y administración de Bases de Datos, pero puedo escribir algo referencial.

Como sabes, debes tener bien claro que debes tener los sgtes datos, nombre del servidor de BD que deseas conectar, las credenciales (usuario y contraseña) que te da acceso al servidor de BD y por último una tabla a la que deseas consultar, en el archivo freetds.conf teniamos uno que se llama jelp.

Suponiendo que la consulta que deseas realizar es:

Select codigo, nombre, ciudad From Cliente Where ciudad = Huancayo

Creamos una página similar a la de test.php a la cual llamaremos Huancayo.php la que contiene el siguiente código:

/*Conexion al servidor MS-SQL2000 */
$db_conn = mssql_connect(«jelp»,»usuario»,»password»)
or die(«ERROR: no se puede conectar al servidor, sorry»);
/* Seleccion de la base de datos*/
mssql_select_db(«BDPrueba»,$db_conn) or
die («ERROR: no se encuentra la base de datos, consulte con su administrador de BD»);
/*Consulta a realizar*/
$query_result=mssql_query(«select codigo, nombre, ciudad
from Cliente where localidad  = ‘Huancayo'»,$db_conn) or
die («ERROR: no se puede ejecutar la consulta»);
/*Despliegue de los resultados en la pagina*/
while($result=mssql_fetch_array($query_result))
{
echo $result[codigo].» «.$result[nombre].» «.$result[ciudad].» «;
}
/*Desconectamos al servidor MSSQL*/
mssql_close($db_conn)
?>

Si requieres mas información al respecto, puedes consultar el siguiente enlace: http://www.php.net/manual/es/ref.mssql.php
 


 


 

Un comentario sobre “Conectando a una Base de Datos SQL2000 desde Linux”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *