• Publicidad

Base de datos ODBC para Access en Ubuntu

¿Eres administrador de sistemas? Este foro es para todos aquellos temas relacionados con el uso de Perl para administración de sistemas.

Base de datos ODBC para Access en Ubuntu

Notapor edwardmorfa » 2015-11-06 11:19 @513

Hola, compañeros. Estoy creando este script para crear una base datos con Perl usando Linux pero cuando lo corro me sale este error:

DBI connect('driver=Microsoft Access Driver (*.mdb);dbq=new.mdb','root',...) failed: [unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL-IM002) at createdb.pl line 18.

Este es el script:

#u!/usr/bin/perl
#use strict;
use warnings;
use v5.10; # Para el uso de la función sy()
use DBI;


say "Script para crear base de datos Acces";

# Configuración de la base de datos

my $datasource ="driver=Microsoft Access Driver (*.mdb);dbq=new.mdb";
my $username = "root";
my $password = 'mysql';

# Conectarse a la base de datos

my $dbh = DBI->connect("dbi:ODBC:$datasource", $username, $password)
|| die "Error connecting: $!";

# Creando la tabla

my $table1= "CREATE TABLE table1 (pike varchar2(200),
CodigoEmp varchar2(200),
NomEmp varchar2(200),
Apellido varchar2(200),
NombrePc varchar2(200),
DireccionIp varchar2(15),
email varchar2(200),
posicion varchar2(200),
recinto varchar2(200),
logu varchar2(200),
Logs varchar2(100)
)";


my @table2 = (
"CREATE TABLE table2 (
EstoEmp varchar2 (200),
EstaEmpleado varchar(200),
GrupoUs varchar(200),
Aplicacines varchar(200)
);"
);

# Ejecutando los statements

my $sth = $dbh->prepare($table1);

$sth->execute;

say "Todas las tablas se han creado correctamente!";

# Desconectarse de la base de datos
$dbh->disconnect();

Saludos,
edwardmorfa
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2015-11-04 18:26 @810

Publicidad

Re: Base de datos ODBC para Access en Ubuntu

Notapor explorer » 2015-11-06 15:50 @701

El error dice que DBI ha intentado conectarse a la base de datos utilizando ODBC, pero que no encuentra la base de datos 'new.mdb'.

Que yo recuerde... había que abrir el administrador de fuentes de datos ODBC y definir una conexión ODBC para la base de datos en Access. A partir de ese momento, desde nuestro programa en Perl podíamos hacer consultas usando DBD::ODBC, que se conecta a unixODBC, y este a su vez al servidor donde está escuchando el ODBC unido al Access. O algo así.

Hay un esquema en el primer tutorial del DBD::ODBC:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Perl script using DBI methods
            |
            v
           API
            |
            v
           DBI
            |
            v
        DBD::ODBC
            |
            v
    ODBC Driver Manager (e.g. unixODBC)
            |
            v
        ODBC Driver
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Administración

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado