perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 22
Click for quality!




11.02.2012 / 18:04

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Rund um das Thema Datenbank zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragACCESS 2003 - ODBC ? WIN32::ODBC
Seitenanfang
Hallo Zusammen,
habe zur Zeit folgenden Problem.
Datenbankanbindung zur Oracle funktioniert bei mir.
Datenbankanbindung ODBC -> ACCESS funktioniert nicht siehe unten:
________________________________________
D:\ATKIS\pl_sql\SQL>perl select_datenbank_access.pl
DBM
ExampleP
File
ODBC
Oracle
Proxy
Sponge

DBI connect('stammdaten.mdb','',...) failed: [Microsoft][ODBC Driver Manager] De
r Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angeg
eben (SQL-IM002)(DBD: db_login/SQLConnect err=-1) at select_datenbank_access.pl
line 32
Can't connect to dbi:ODBC:stammdaten.mdb: at select_datenbank_access.pl line 32

Ich habe ne Abfrage geschrieben in der die Vorhandenen Treiber. ODBC Treiber hatte ich über ppm installiert.
Unter Systemsteuerung->Verwaltung->ODBC-> habe ich in der SYSTEM-DSN die Datenquelle und die Datenbank stammdaten.mdb eingerichtet.

Anbei mein Script:
_______________________________________________
use strict;
use DBI;
my @ergebnis;
###################################################################
# Anmelden an der Datenbank
# überprüfen der installierten Treiber
my @drivers = DBI->available_drivers();print join "\n", @drivers, "\n";

#my $data_source = 'dbi:ODBC:d://atkis//pl_sql//sql//stammdaten.mdb'; funktioniert nicht
my $data_source = 'dbi:ODBC:stammdaten.mdb';
my $dbh = DBI->connect($data_source)
|| die "Can't connect to $data_source: $!";


###################################################################
# Erstellen ders SQL-Statements
my $sql = qq{select vorname, name FROM Stammdaten};
###################################################################
# Vorbereiten des SQL-Statements
my $sth = $dbh->prepare( $sql );
###################################################################
# Ausführen des SQL-Stagements
$sth->execute();
#Die nächste Zeile aus der Ergebnistabelle gelesen.
#Die Zeile wird allerdings in Form eines Arrays mit den Spaltenwerten übergenb fetchrow_arry
while(@ergebnis=$sth->fetchrow_array)
{
print $ergebnis[0]." ".$ergebnis[1]." ".$ergebnis[2]." ".$ergebnis[3]." \n";
}
###################################################################
# Schließt Statement-Handling
$sth->finish();
###################################################################
# Verbindung zur Datenbank schliessen
$dbh->disconnect()
_______________________________________________
Frage: Kann mit jemand weiterhelfen?

Ich habe nach einem passenden WIN32:ODBC gesucht, jedoch nur veraltete gefunden.
Habe leider keinen c-Compiler. Muss auf ppm zurrückgreifen.

Datum: 31.07.2006-16:25

Beitragre: ACCESS 2003 - ODBC ? WIN32::ODBC
Seitenanfang
Hallo,

zum Ansprechen der Datenbank über ODBC kannst du Treiber und Datenquelle gleichzeitig angeben, du brauchst dazu nur das DBI-Modul:

my $dbname = "driver=Microsoft Access Driver (*.mdb);dbq=stammdaten.mdb";
my $user = '';
my $password = '';
my $dbh = DBI->connect("dbi:ODBC:$dbname",$user,$password) ||
die "Error connecting $DBI::errstr\n";

Den Driverstring 'Microsoft Access Driver (*.mdb)' habe ich aus der Sytemsteuerung / Verwaltung / Datenquellen (ODBC).
Das funktioniert auf diese Art unter Windows 2000 und XP.

Früher habe ich geglaubt, dass man für jede Datenbank einen extra Treiber anlegen muss. Das geht zwar auch, ist aber sehr umständlich.

Grüße,
Peter

Datum: 31.07.2006-17:43

Beitragre: ACCESS 2003 - ODBC ? WIN32::ODBC
Seitenanfang
Hallo Peter,
super es hat geklappt. Vielen Dank.

Problem war : der Driverstring 'Microsoft Access Driver (*.mdb)' aus der Sytemsteuerung / Verwaltung / Datenquellen (ODBC). war nicht richtig.
Danke.
Gruß Heike

Datum: 01.08.2006-08:41

-






-
-