Schrift
[thread]3461[/thread]

Log files mit DBI auf Microsoft SQL: Datenuebertragung von Linux auf Windows (Seite 2)



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
dayspring
 2004-06-04 03:22
#32205 #32205
User since
2004-06-02
5 Artikel
BenutzerIn
[default_avatar]
Hab mir vom CPAN DBD::ODBC runtergeladen, Version 1.09
Habe entpackt, die Makefile gestartet und kriege

Using DBI 1.21 installed in /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI

The DBD::ODBC module needs to link with an ODBC 'Driver Manager'.
(The Driver Manager, in turn, needs one or more database specific ODBC drivers.
The DBD::ODBC module does _not_ include any ODBC drivers!)

You need to indicate where your ODBC Driver Manager is installed.
You can do this ether by setting the ODBCHOME environment variable
or by runing 'perl Makefile.PL -o odbcdir'.

If you do not have an ODBC Driver Manager you can try building
the free iODBC Driver Manager in the iodbcsrc directory.

Makefile.PL aborted.

Jetzt habe ich such im Google und im CPAn nach diesem ODBC driver manager gesucht aber da finde ich nichts. Wo findet man denn diese Datei?
Gruesse
dayspring
dayspring
 2004-06-04 03:33
#32206 #32206
User since
2004-06-02
5 Artikel
BenutzerIn
[default_avatar]
Habe auch perl Makefile.PL -o odbcdir ausprobiert und kriege
Useless use of private variable in void context at Makefile.PL line 430.
Overriding ODBC Directory with command line option: odbcdir

Configuring DBD::ODBC ...

>>> Remember to actually *READ* the README file!
And re-read it if you have any problems.

Using DBI 1.21 installed in /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI
Overriding ODBC Directory with command line option: odbcdir
ODBCHOME environment variable (odbcdir) does not refer to a directory.
Useless use of private variable in void context at Makefile.PL line 430.
Overriding ODBC Directory with command line option: odbcdir

Configuring DBD::ODBC ...

>>> Remember to actually *READ* the README file!
And re-read it if you have any problems.

Using DBI 1.21 installed in /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI
Overriding ODBC Directory with command line option: odbcdir
ODBCHOME environment variable (odbcdir) does not refer to a directory.

Raus. So langsam steige ich nirgendwo mehr durch.
gruesse
dayspring
steffenw
 2004-06-05 00:01
#32207 #32207
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=Dubu,02.06.2004, 21:45]siehe oben[/quote]

Und noch etwas besser ist es, das Statementhandle zu speichern, weil doch die Daten in der Schleife von der Menge her immer die gleichen sind. Dadurch wird die Schleife schlanker und einunddasselbe Statement muß nicht bei jedem Durchlauf erst wieder auf Gültigkeit geprüft werden.

Ansosten macht die Konstruktion mit "prepare/execute" keinen Sinn und "do" wäre zutreffender:
Code: (dl )
$dbh->do($statement, undef, @lines) or ....

Konstruktion mit prepare/execute:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
...
my $dbh = DBI->connect("dbi:mSQL:T1:fabian:3306", "password", "fabian")
 or die "Kann Datenbank nicht oeffnen: " . DBI->errstr();
my $statement = 'insert into fabian (month1, day1, time1, ip, port, month2, day2, time2, message) values (?,?,?,?,?,?,?,?,?)';
my $sth=$dbh->prepare($statement) or die "Prepare $statement fehlgeschlagen: ".$dbh->errstr();

while (defined(my $getline=<FH>)) {
   my @lines = split(/ /, $getline, 8);
   $sth->execute(@lines)
     or warn "Fehler beim Schreiben in Datenbank: " . $sth->errstr();
}
$dbh->disconnect();
...
\n\n

<!--EDIT|steffenw|1086380516-->
$SIG{USER} = sub {love 'Perl' or die};
Dubu
 2004-06-05 19:22
#32208 #32208
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Stimmt natuerlich, Steffen. Da habe ich nicht konsequent genug weiter gedacht. :)
Strat
 2004-06-05 22:54
#32209 #32209
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=dayspring,04.06.2004, 01:22]Jetzt habe ich such im Google und im CPAn nach diesem ODBC driver manager gesucht aber da finde ich nichts. Wo findet man denn diese Datei?
Gruesse
dayspring[/quote]
iODBC ist z.B. bei SuSE-Linux auf der CD dabei, und wohl auch bei den meisten anderen Linux-Distributionen...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2004-06-02 07:16.