Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Cómo hago consultas desde una máquina en linux a MS SQL

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Mensaje Jue Oct 26, 2006 12:50 pm
Juan JOse
Perlero Nuevo
Perlero Nuevo
Registrado: 21 Sep 2006
Mensajes: 10
Ubicación: Desarrollo
Cómo hago consultas desde una máquina en linux a MS SQL Responder citando

Saludos:

Estoy haciendo una aplicación y necesito obtener datos alojados en una base de datos que se encuentra en una máquina con Windows, tiene MSSQL Server. Ojalá alguno de ustedes sepa cómo hacerlo y pueda ayudarme. Gracias.
Mensaje Jue Oct 26, 2006 5:12 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
Responder citando

Pero... la aplicación que vas a hacer, ¿estará en la misma máquina que el MSSQL Server o en otra distinta?

Hay algunos módulos para acceder a MSSQL, pero el principal es el DBI.
Mensaje Jue Oct 26, 2006 5:39 pm
Juan JOse
Perlero Nuevo
Perlero Nuevo
Registrado: 21 Sep 2006
Mensajes: 10
Ubicación: Desarrollo
Responder citando

Saludos:

Es una web, esta montado en un servidor linux y saca informacion de varios servidores de bases de datos, alguno esta en unix y hay otros en windows con MS SQL Server, he checado q debo utilizar DBD:ODBC, pero hay q configurar un archivo DSN, lo cual no se como hacerlo, ojala puedan ayudarme. gracias.
Mensaje Jue Oct 26, 2006 5:55 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
Responder citando

Yo miraría primero las Preguntas Más Frecuentes del manual del DBD::ODBC: http://search.cpan.org/~jurl/DBD-ODBC-1.13/ODBC.pm#Frequently_Asked_Questions
Mensaje Vie Oct 27, 2006 4:59 am
macgregor
Perlero Frecuente
Perlero Frecuente
Registrado: 09 Dic 2004
Mensajes: 117
Ubicación: españa
Responder citando

Yo me encontré con un problema parecido, pero en lugar de conectar con sql-server lo hago con Oracle.
Estuve mirando el driver ODBC y como podrás comprobar es de PAGO.
Además de las webs de openlinksw.com y easysoft.com que aparecen en el link que te ha puesto explorer puedes mirarte estas otras 2 webs.
www.merant.com y www.datadirect.com

En todas ellas verás que ese driver para unix/linux es de pago Sad

En mi caso pude utilizar DBI::oracle; te sugiero que busques en CPAN a ver si existe algún driver para el módulo DBI que sea específico para sql-server. (Y NO SEA ODBC)

Respecto al DSN en la máquina donde está la DB no necesitarás configurarlo si no utilizas ODBC. (si te decides a pagar por el driver en Unix, te recomiendo que crees uno de sistema).

Espero haberte aclarado algo.

Un saludo.

Ultima edición por macgregor el Vie Oct 27, 2006 8:26 am, editado 1 vez
Mensaje Vie Oct 27, 2006 5:32 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
Responder citando

* Otras formas de conectarte a MS SQL
* Conectando Perl desde Linux a MS SQL
* Otros
Mensaje Vie Oct 27, 2006 8:48 am
macgregor
Perlero Frecuente
Perlero Frecuente
Registrado: 09 Dic 2004
Mensajes: 117
Ubicación: españa
Responder citando

Explorer, fijate que volviste a hacer referencia al mismo driver ODBC (de pago).

En la web que pusiste (la de easysoft) aparece un gráfico de como va la información desde el script perl hasta la DB.

El problema és que desde la parte tcp/ip hasta tu script perl se ha de pasar por el módulo DBI con algún módulo específico para tu DB, o uno "genérico" para cualquier DB (ODBC, que vuelvo a repetirme, de PAGO)
Cuando digo "genérico" me refiero a que el SGBD utilizado acepte este tipo de conexiones ODBC. (muy provablemente esa palabra no sea la más acertada)

Desde la parte tcp/ip a la DB (en este caso) está cubierto por mocosoft que tiene drivers ODBC para casi todo y de uso libre ( bueno libre libre... ya lo pagaste con la licencia de windows y con la de Sql-server ...).

Lo cierto es que buscando DBI y SQLSERVER en CPAN salen muy pocas cosas... ahunque hay un driver DBD::ODBC...(driver odbc para DBI) tal vez pueda servir a Juan José.

http://search.cpan.org/search?query=dbi+sqlserver&mode=all
Mensaje Vie Oct 27, 2006 9:13 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
Responder citando

En la página de easysoft, se hace referencia al unixODBC, que es libre. El problema, como bien dices, es la parte del 'bridge', que es de pago.

He encontrado más información al final de la página
http://www.unix.org.ua/orelly/perl/sysadmin/ch07_01.htm
No conocía DBD::Proxy. Y la malo es que no aparece freeodbc por ninguna parte. Según esta página hay dos opciones para acceder a MSSQL: DBI y ODBC. Por la primera, hablan del módulo DBD::Sybase más las librerías FreeTDS:
http://www.freetds.org/faq.html#Which.Perl.library.should.I.use
Mensaje Mar Oct 31, 2006 12:09 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
Responder citando

Juan JOse escribió:
pero hay que configurar un archivo DSN, lo cual no se como hacerlo, ojalá puedan ayudarme. Gracias.


En este enlace hay una breve explicación de cómo preparar el DSN:
http://www.databasejournal.com/features/msaccess/print.php/10895_1408481_3

P.D. Con lo fácil que es poner una MySQL...
Mensaje Jue Ene 18, 2007 4:39 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
Responder citando

En la revista Linux Journal de este mes viene justo ese comentario: que es difícil hacer la conexión a una base MSSQL.

La solución que ofrecen es usar algo que se sabe que se conecta muy bien: PHP.

Lo único que quedaría es usar PHP dentro de Perl, y lo hacen con la ayuda del módulo PHP::Interpreter.

He dejado el ejemplo en otro hilo de discusión.
Mensaje Vie Nov 02, 2007 3:12 am
penyera
Perlero Nuevo
Perlero Nuevo
Registrado: 02 Nov 2007
Mensajes: 1
CONECTARME A MS SQL, DESDE LINUX PERO CON PHP Responder citando

Hola a todos, espero que me podáis ayudar

Tengo un servidor de Linux Debian(sarge), que es el servidor web, la web esta programada con php,
tengo instalado el php4 en este servidor. Quiero acceder desde mi web a una base de datos que está
en otro servidor Windows y la base de datos está en MS SQL Server.

¿Podría alguien ayudarme?


Gracias.
Mensaje Mie Dic 26, 2007 3:46 pm
natxo
Perlero Nuevo
Perlero Nuevo
Registrado: 09 Ago 2007
Mensajes: 16
Ubicación: Países Bajos
Re: CONECTARME A MS SQL, DESDE LINUX PERO CON PHP Responder citando

penyera escribió:
Hola a todos, espero que me podáis ayudar

Tengo un servidor de Linux Debian(sarge), que es el servidor web, la web esta programada con php,
tengo instalado el php4 en este servidor. Quiero acceder desde mi web a una base de datos que está
en otro servidor Windows y la base de datos está en MS SQL Server.


Tienes varias opciones:

la primera es configurar una conexión odbc con el servidor mssql. Para la versión actual de debian tienes aquí un howto: http://howtoforge.com/php5_mssql_debian_etch_free_tds_unix_odbc

Otra opción sería usar un software como sqlyog. Con él puedes migrar datos 'casi' en directo de una conexión odbc a otra conexión odbc. Lo ejectuas desde el servidor windows y configuras una conexión odbc a una base de datos mysql, por ejemplo, en el linux. Luego preparas la aplicación desde el linux con php y mysql.

Otra opción más sería migrar la base de datos mssql a mysql. La última opción que se me ocurre es la inversa, hacer que tu aplicación sea asp en windows con mssql (o php en windows, también es posible, y allí sí puedes usar directamente la conexión mssql, no hay que configurar nada). Como ves tienes varias opciones, tú verás la que más te conviene.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group