Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Otros Temas » Bases de Datos » XP 2003 con SQL Server Responder al tema
Nuevo tema


Página 1 de 1  [ 7 mensajes ] 
 
Nota 2009-11-11 18:08 @797

Perlero Adicto
Registrado: 2009-10-28 13:50 @618
Mensajes: 225
XP 2003 con SQL Server
Hola, necesito consultarles qué módulo gratuito y recomendable puedo utilizar para conectar un script de consola con una base de datos SQL Server 2005 que tengo en otro servidor dentro de la misma LAN...


Última edición por explorer el 2009-11-11 18:44 @822, editado 2 veces en total
Ortografía


Nota 2009-11-11 18:45 @823
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Re: XP 2003 con SQL Server
Mira este hilo.


Nota 2009-11-11 19:22 @848

Perlero Adicto
Registrado: 2009-10-28 13:50 @618
Mensajes: 225
Re: XP 2003 con SQL Server
Sí, lo había visto pero como no encontré un código de ejemplo para probar conexión lo había descartado... ¿conocéis otra fuente de códigos que se pueda tomar como base que no sea CPAN al menos para encontrar un bendito ejemplo de cómo conectarme al SQL Server sin usar otra cosa que no sea Perl...? También vi el Win32::SqlServer pero el ppm no lo encuentra y me da error al instalarlo... como este...

Syntax: [ Download ] [ Hide ]
Using text Syntax Highlighting
C:\Perl\bin>perl c:\perl\activeperl-copy.pl
Installing Win32::SqlServer in C:\Perl
Copying blib\arch\auto\Win32\SqlServer\SqlServer-x86-5.008.dll to C:\Perl\site\l
ib\auto\Win32\SqlServer\SqlServer.dll
Could not copy blib\arch\auto\Win32\SqlServer\SqlServer-x86-5.008.dll: No such f
ile or directory


Nota 2009-11-12 08:59 @416
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Re: XP 2003 con SQL Server
Viendo el http://cpansearch.perl.org/src/SOMMAR/W ... akefile.pl es posible que necesites tener instalado el compilador de Visual C++ para crear la librería en formato dll.

Otra opción es usar el DBD::ODBC o el Win32::ODBC, como te indica en el último mensaje del hilo enlazado. Pero necesitas también compilarles, porque la versión que hay en ActiveState es muy vieja (no lo he visto y no sé si seguirá siendo cierto).

Según este documento hay otras posibilidades, como la de DBD::ADO que usa a su vez a DBI y Win32::OLE.

Hummm... no sé decirte más... hace bastante que no sigo ese tema.


Nota 2009-11-12 18:15 @802

Perlero Adicto
Registrado: 2009-10-28 13:50 @618
Mensajes: 225
Re: XP 2003 con SQL Server
Paso a contar que salió todo bien pero saldrá mejor ¡¡¡cuando se comparta con ustedes...!!!

1: al principio instalé los módulos DBD::ADO y el DBD::ODBC desde ppm
2: creé la conexión a la base desde herramientas administrativas/Orígenes ODBC
usando DNS de usuario y controlador SQL Native Client
3: utilicé este rejunte de códigos el cual podrán mejorar, obviamente
4: soy un tipo feliz porque conecto bien con un SQL Server.

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
use DBI;
my $dsn = 'nombrededsn';
my $usr = 'usuariodebasesql';
my $pwd = 'contraseñabasesql';
my $dbh = DBI->connect("dbi:ADO:$dsn", $usr, $pwd, $att ) or die $DBI::errstr;

$dbh->do("use base_de_datos");

my $query = "SELECT * FROM dbo.tabla";
my $sth = $dbh->prepare ($query) or die "prepare failed\n";
$sth->execute( ) or die "unable to execute query $query error $DBI::errstr";

my $rows = $sth->rows;
print "$row rows returned by query\n";

while (@first = $sth->fetchrow_array ) {
    foreach $field (@first) {
        print "field: $field\n";
    }
}


Nota 2009-11-12 18:38 @818
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Re: XP 2003 con SQL Server
A ver... no entiendo una cosa...

Si eres capaz de haber instalado DBD::ODBC, en teoría no necesitarías instalar ningún módulo más. Solo configurar la conexión DSN.

Y si te funciona con ADO, no veo en ninguna parte de la documentación que sea necesario usar DBD::ODBC.

A lo mejor no me he dado cuenta, pero en el módulo pone:
Citar:
An ADO ConnectionString usually contains either a 'Provider' or a 'File Name' argument. If you omit these arguments, Provider defaults to MSDASQL (Microsoft OLE DB Provider for ODBC). Therefore you can pass an ODBC connection string (with DSN or DSN-less) as valid ADO connection string.

If you use the OLE DB Provider for ODBC, it may be better to omit this additional layer and use DBD::ODBC with the ODBC driver.
que, entiendo, dice
Citar:
Un ADO ConnectionString normalmente contiene tanto un argumento 'Proveedor' como 'Nombre de Fichero'. Si omites estos argumentos, el Proveedor será por defecto MSDASQL (Microsoft OLE DB Provider for ODBC). Por tanto puedes pasar una cadena de conexión ODBC (con DSN o DSN-less) como una cadena de conexión ADO válida.

Si usas el Proveedor OLE DB for ODBC, podría ser mejor omitir esta capa adicional y usar DBD::ODBC con el controlador ODBC.


Por lo demás, gracias por indicarnos los pasos necesarios. Los guardaremos como oro en paño.


Nota 2009-11-12 19:23 @849

Perlero Adicto
Registrado: 2009-10-28 13:50 @618
Mensajes: 225
Re: XP 2003 con SQL Server
Sí, es cierto: con ODBC paso derecho. Bueno, error de tomar nota y probar varias cosas a la vez... la próxima estará más limpio... era más que nada para que el que venga luego no se encuentre y pierda el tiempo que perdí yo para conectar con una simple base...

Gracias por vuestras respuestas tan rápidas desde el momento cero... seguiré explorando este mundo Perl...


Responder al tema  [ 7 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO