[caracas-pm-list] Re: [l-linux] Perl + Sql Server

Ernesto Hernandez-Novich emhn at telcel.net.ve
Wed Feb 25 08:22:37 CST 2004


On Tue, 24 Feb 2004, Eladio Garcia wrote:
> Estoy teniendo bastantes problemas para conectar perl con un Servidor de
> bases de datos que ejecuta SQL Server 2000

Conectarse a SQL Server desde Perl usando DBI es diferente según trates
de hacerlo desde Windows o desde Linux.

> Estoy usando ODBC.. pero al parecer hay que definir unos DSN que la
> verdad a pesar de estar buscando bastante en internet.. no encuentro la
> definicion  o un manual de definicion de los mismos..

Si estás usando Perl y ODBC en Windows, se hace por el Panel de Control.
En éste caso debes instalar el driver provisto por SQL Server, y el módulo
DBD::ODBC de Perl.

Para éste caso, después de haber definido el DSN en el Panel de Control
con el nombre 'foo', es tan simple como

$dbh = DBI->connect("DBI:ODBC:foo",...)

Si estás usando Perl y ODBC en Linux, el asunto es que existen drivers ODBC
que corren en Linux para PostgreSQL, para MySQL y otros más, pero no hay
uno para SQL Server.

En el pasado, era posible conectarse a SQL Server utilizando el mismo
driver DBD::Sybase, pero hoy en día creo que lo mejor que hay es
utilizar FreeTDS como te recomendaron en Perl-Mongers.

> 1) create an odbc connection (through control panel) and connect like this:
>
> $db = DBI->connect('dbi:ODBC:test', '' ,'' ) or die $DBI::errstr;
[...]
> Pero el primer metodo.. no entiendo donde definen el servidor (en mi caso
> no es localhost es una maquina aparte)... me imagino que test es la base
> de datos.. pero me da error..

En el Control Panel de Windows. 'test' es el nombre del DSN que se
definió allí y se supone que estás usando Perl en la misma máquina
Windows.
-- 
Ernesto Hernández-Novich - On Linux 2.6.3 i686 - Unix: Live free or die!
Geek by nature, Linux by choice, Debian of course.
If you can't apt-get it, it isn't useful or doesn't exist.
GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3
------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list